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

LEFT OUTER JOIN ne marche PAS :-)

3 réponses
Avatar
pbrenon
Soit deux tables:

TableA =3D
Colone1 char(3) NULL
Colonne2 char(50) NULL

TableB =3D
colone1 char(80) NOT NULL
Colone2 char(datetime) NULL
Colone3 decimal(9,2) NOT NULL
Colone4 char(3) NULL

Et une requ=EAte:

SELECT tableA.colone2,sum(tableB.colone3) FROM tableA LEFT OUTER JOIN
tableB ON tableA.colone1 =3D tableB.colone4 where tableB.colone3 <
'une_date_quelconque'

Et bien lorsqu'il n'y a pas de donn=E9e dans la tableB table de droite,
il ne me renvois pas d'enregistrement dans la tableA, =E0 gauche. Hors,
sauf erreur de ma part, donn=E9e ou pas, il devrait quand m=EAme me
renvoyer les enregistrements ???

Si quelqu'un =E0 une id=E9e.

Merci d'avance pour vos r=E9ponse

3 réponses

Avatar
Gilles
Dans ton where tu utilise la table B !!

Ecrit plutôt
SELECT tableA.colone2,sum(tableB.colone3) FROM tableA LEFT OUTER JOIN
tableB ON tableA.colone1 = tableB.colone4 AND tableB.colone3 <
'une_date_quelconque'

Au lieu de where


Gilles
Avatar
Sylvain Lafontaine
Vous pouvez également ajouter la condition « (tableB.colone3 is null) or »
au Where:

where (tableB.colone3 is null) or tableB.colone3 < 'une_date_quelconque'

Fort possiblement, selon vos données, cela devrait donner un résultat
différent de l'autre solution. À vous de choisir laquelle de ces deux
solutions vous donne le résultat que vous recherchez.

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: http://cerbermail.com/?QugbLEWINF


"Gilles" wrote in message
news:
Dans ton where tu utilise la table B !!

Ecrit plutôt
SELECT tableA.colone2,sum(tableB.colone3) FROM tableA LEFT OUTER JOIN
tableB ON tableA.colone1 = tableB.colone4 AND tableB.colone3 <
'une_date_quelconque'

Au lieu de where


Gilles



Avatar
Steph
Ne serait-ce pas le SUM qui pose un pbm dans ce cas ??

--
Steph
http://doussiere.free.fr/