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 ???
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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'
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
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
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" <glebarbier@supprimerceci_segilog.com> wrote in message
news:ebG4tbeZFHA.612@TK2MSFTNGP12.phx.gbl...
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'
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
Steph
Ne serait-ce pas le SUM qui pose un pbm dans ce cas ??
-- Steph http://doussiere.free.fr/
Ne serait-ce pas le SUM qui pose un pbm dans ce cas ??