Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

OUTER JOIN, ou autre.... je pige plus rien

1 réponse
Avatar
Fdecourt
Bonsoir,

Tout d'abord, je ne suis pas bon en SQL.... N=E9anmoins, j'essaye de
lancer quelques requ=EAtes car elle pourrait grandement me simplifier la
vie ;)

Je cherche =E0 extraire d'une table (de donn=E9es) toutes les lignes qui
ne sont pas pr=E9sentes dans une autre table (de r=E9f=E9rence), en fonctio=
n
de 4 champ. L'objectif =E9tant d'identifi=E9 toutes les informations qui
ne sont pas pr=E9sente dans ma table de r=E9f=E9rence, alors qu'elle le son=
t
dans ma table de donn=E9es.

J'ai essay=E9 :
SELECT DISTINCT X.bukrs, X.hkont, X.prctr, X.kostl
FROM lpcnv500.fnpcvdt0 X
LEFT OUTER JOIN lpcnv500.fnpglcr0 Y
ON X.bukrs=3DY.sapccd AND X.hkont=3DY.acctnu AND X.prctr=3DY.sprofc AND
X.kostl=3DY.scostc
GROUP BY X.bukrs, X.hkont, X.prctr, X.kostl
ORDER BY X.hkont

=3D> Mais elle ne fonctionne pas....

Si je fait un RIGHT OUTER JOIN, elle ne fontionne pas non plus.

Ce qu'il me faudrait c'est le r=E9sultat de la diff=E9rence entre le RIGHT
OUTER JOIN ET LE LEFT OUTER JOIN.

Merci pour votre aide

Cordialement,

F.

1 réponse

Avatar
Fabien
Fdecourt a écrit :
Bonsoir,

Tout d'abord, je ne suis pas bon en SQL.... Néanmoins, j'essaye de
lancer quelques requêtes car elle pourrait grandement me simplifier la
vie ;)

Je cherche à extraire d'une table (de données) toutes les lignes qui
ne sont pas présentes dans une autre table (de référence), en fonction
de 4 champ. L'objectif étant d'identifié toutes les informations qui
ne sont pas présente dans ma table de référence, alors qu'elle le sont
dans ma table de données.

J'ai essayé :
SELECT DISTINCT X.bukrs, X.hkont, X.prctr, X.kostl
FROM lpcnv500.fnpcvdt0 X
LEFT OUTER JOIN lpcnv500.fnpglcr0 Y
ON X.bukrs=Y.sapccd AND X.hkont=Y.acctnu AND X.prctr=Y.sprofc AND
X.kostl=Y.scostc
GROUP BY X.bukrs, X.hkont, X.prctr, X.kostl
ORDER BY X.hkont

=> Mais elle ne fonctionne pas....

Si je fait un RIGHT OUTER JOIN, elle ne fontionne pas non plus.

Ce qu'il me faudrait c'est le résultat de la différence entre le RIGHT
OUTER JOIN ET LE LEFT OUTER JOIN.

Merci pour votre aide

Cordialement,

F.





Salut,
n'étant pas un as de Sql je laisse faire l'assistant ;-)
SELECT Clients.N°Client, Ventesarticles.Reference
FROM Clients LEFT JOIN Ventesarticles ON Clients.N°Client =
Ventesarticles.N°client
WHERE (((Ventesarticles.Reference) Is Null));
Et voilà ce que j'obtient pour trouver tous les enreg de la table
clients qui ne sont pas dans la table ventesarticles.
@+