IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Génération des numéros de Bon


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    ETUDE
    Inscrit en
    Septembre 2016
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : ETUDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 360
    Points : 117
    Points
    117
    Par défaut Génération des numéros de Bon
    Bonjour le forum j'ai cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT distinct
    g.[IdDocument],
    f.[Idfournisseur] as [Idfournisseur]
    ,case when max([Numpiece]) is null then 0+1 else max([Numpiece])+1 end as [Numpiece] 
    FROM [dbo].[AchatFournisseur] a 
    inner join [dbo].[Depot] b on b.[IdDepot]=a.[IdDepot] 
    RIGHT	 join [dbo].[fournisseur] f on f.[Idfournisseur]=a.[Idfournisseur] 
    right join [dbo].[Document] g on g.[IdDocument]=a.[IdDocument] 
    group by f.[Idfournisseur],a.[IdAgences],g.[IdDocument]
    je souhaite généré les numéros de bon en fonction du type de document et du fournisseur mais cela ne marche pas
    quelqu'un pourrais m'aider?

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    Bonjour, voici un exemple de solution :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    select FO.idfournisseur
         , FO.nom
         , coalesce(max(DC.numpiece), 1)
    from fournisseur as FO
    inner join depot as DP
       on DP.iddepot=FO.iddepot
    left join document as DC
       on DC.iddocument=DP.iddocument
    group by FO.idfournisseur
           , FO.nom    
    order by FO.idfournisseur
           , FO.nom

  3. #3
    Membre régulier
    Homme Profil pro
    ETUDE
    Inscrit en
    Septembre 2016
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : ETUDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 360
    Points : 117
    Points
    117
    Par défaut
    Bonjour escartefigue merci pour votre réponse
    je souhaite que à chaque achat lorsque qu'on sélectionne un fournisseur, le numéro de Bon soit conditionné à la fois par le type de document et par le fournisseur or votre requête montre que pour un premier temp la colonne IdDocument est vide

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 556
    Points
    38 556
    Billets dans le blog
    9
    Par défaut
    En effet, je n'avais pas vu qu'il y avait 4 tables
    Le principe ne change pas, adaptez ma requête en ajoutant la table manquante

  5. #5
    Membre régulier
    Homme Profil pro
    ETUDE
    Inscrit en
    Septembre 2016
    Messages
    360
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : ETUDE
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2016
    Messages : 360
    Points : 117
    Points
    117
    Par défaut
    Bonsoir escartefigue
    voila comment j'ai résolu le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if not exists (SELECT distinct a.[IdDepot] as[IdDepot] ,case when max([Numpiece]) is null then 0+1 else max([Numpiece])+1 end as [Numpiece] FROM [dbo].[VenteClients] a
    full join [dbo].[Document] c on c.[IdDocument]=a.[IdDocument] 
    full join [dbo].[Depot] g  on g.[IdDepot]=a.[IdDepot]  where g.[Designation]='"+cmbDepot1.Text+"' and c.Designation='"+cmbDocument1.Text+"'group by a.[IdDepot],a.[IdAgences],c.[IdDocument]) 
    select(select [IdDepot] from [dbo].[Depot] where [Designation]='"+cmbDepot1.Text+"') as [IdDepot], (select [IdDocument] from [dbo].[Document] where Designation='"+cmbDocument1.Text+"') as [IdDocument], 1 as [Numpiece]
    else SELECT distinct a.[IdDepot] as[IdDepot] ,case when max([Numpiece]) is null then 0+1 else max([Numpiece])+1 end as [Numpiece] FROM [dbo].[VenteClients] a full join [dbo].[Document] c on c.[IdDocument]=a.[IdDocument] 
    full join [dbo].[Depot] g  on g.[IdDepot]=a.[IdDepot] where g.[Designation]='"+cmbDepot1.Text+"' and c.Designation='"+ cmbDocument1.Text+"' group by a.[IdDepot],a.[IdAgences],c.[IdDocument]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JAXB][XSD] Problème lors de la génération des classes
    Par charlot44 dans le forum Persistance des données
    Réponses: 4
    Dernier message: 22/06/2005, 16h10
  2. Génération de numéro de série
    Par shadeoner dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 06/04/2005, 14h25
  3. Calcul des numéros de semaine d'un calendrier
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/11/2002, 21h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo