Jointure sur table ARTGAMME et GAMSTOCK
Modérateurs: Super-Apogea, Super Modérateur
2 messages
|Page 1 sur 1
Jointure sur table ARTGAMME et GAMSTOCK
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 !
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
- Messages: 42
- Inscription: Jeu 17 Déc 2015 18:04
Re: Jointure sur table ARTGAMME et GAMSTOCK
Bonjour,
Ci-dessous une première requête pour sortir les croisés potentiels des gammes :
Et pour retrouver les stocks (par dépot) :
Cordialement,
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.
En recherche de missions.
2 messages
|Page 1 sur 1
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité