Jointure sur table ARTGAMME et GAMSTOCK

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Jointure sur table ARTGAMME et GAMSTOCK

de zoocoral » Jeu 25 Fév 2016 13:02

Bonjour,

j'ai un souci pour une requéte.

J'ai 2 tables :
F_ARTGAMME(AR_Ref, AG_No, EG_Enumere) avec par exemple les valeurs suivantes :
REF1, 100, Blanc
REF1, 200, 2 ans
REF1, 300, 3 ans
REF1, 400, 4 ans

Ensuite j'ai une table F_GAMSTOCK(AR_Ref, AG_No1, AG_No2) avec les valeurs suivants par ex :
REF1, 200, 100
REF1, 300, 100
REF1, 400, 100

Le but de ma requête est de sortir ce résultat :

REF1 , Blanc, 2 ans
REF1 , Blanc, 3 ans
REF1 , Blanc, 4 ans

Je n'arrive pas à faire la jointure car dans la table Stock il y a 2 colonnes qui font références à la table Article_Gamme , je suis un peu perdu

Merci de votre aide !
Posteur actif
Posteur actif
 
Messages: 42
Inscription: Jeu 17 Déc 2015 18:04

Re: Jointure sur table ARTGAMME et GAMSTOCK

de asr31 » Ven 11 Mar 2016 23:55

Bonjour,

Ci-dessous une première requête pour sortir les croisés potentiels des gammes :
Code: Tout sélectionner
SELECT A.AR_Ref, A.AG_No AS AG_No1, A.EG_Enumere AS Enum1,
   ISNUll(B.AG_No,0) AS AG_No2, ISNULL(B.EG_Enumere,'') AS Enum2
FROM
 (SELECT AR_Ref, AG_No, EG_Enumere
    FROM F_ARTGAMME WHERE (AG_Type = 0)) AS A
 LEFT OUTER JOIN
 (SELECT AR_Ref, AG_No, EG_Enumere
    FROM F_ARTGAMME AS AG_1 WHERE (AG_Type = 1)) AS B
 ON A.AR_Ref = B.AR_Ref


Et pour retrouver les stocks (par dépot) :

Code: Tout sélectionner
SELECT A.AR_Ref, A.AG_No AS AG_No1, A.EG_Enumere AS Enum1,
     ISNULL(B.AG_No, 0) AS AG_No2, ISNULL(B.EG_Enumere, '') AS Enum2,
      F_GAMSTOCK.DE_No AS No_Depot, F_GAMSTOCK.GS_QteSto
FROM
   (SELECT AR_Ref, AG_No, EG_Enumere FROM F_ARTGAMME WHERE (AG_Type = 0)) AS A
   INNER JOIN
    F_GAMSTOCK ON A.AR_Ref = F_GAMSTOCK.AR_Ref AND A.AG_No = F_GAMSTOCK.AG_No1
    LEFT OUTER JOIN
    (SELECT AR_Ref, AG_No, EG_Enumere FROM F_ARTGAMME AS AG_1 WHERE (AG_Type = 1)) AS B
    ON F_GAMSTOCK.AG_No2 = B.AG_No AND A.AR_Ref = B.AR_Ref


Cordialement,
ASR31

En recherche de missions.
Avatar de l’utilisateur
Super Contributeur
Super Contributeur
 
Messages: 2975
Inscription: Mer 13 Fév 2008 15:31
Localisation: TOULOUSE


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité