Bonjour,
J'ai une requete (moche) qui me renvoit 15 lignes (5 enregistrements dans la table PortZone et 3 dans la table PortPoid)
Quand j'execute cette meme requete dans enterprise manager (MSSQL 2000), ce dernier retouche la syntaxe pour me proposer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select * from PortZone, PortPoid, PortZoneHasPortPoid where PortZoneHasPortPoid.Fk_Zone =* PortZone.Id AND PortZoneHasPortPoid.Fk_PortPoid =* PortPoid.id
Du coup j'ai 4 résultats.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM PortZone RIGHT OUTER JOIN PortZoneHasPortPoid ON PortZoneHasPortPoid.FK_Zone = PortZone.Id LEFT OUTER JOIN PortPoid ON PortZoneHasPortPoid.FK_PortPoid = PortPoid.Id
Je modifie donc cette requete pour avoir
et la j'ai 7 résultats ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM PortZone FULL OUTER JOIN PortZoneHasPortPoid ON PortZoneHasPortPoid.FK_Zone = PortZone.Id FULL OUTER JOIN PortPoid ON PortZoneHasPortPoid.FK_PortPoid = PortPoid.Id
j'ai donc re tenté ma chance avec
Mais je n'obtiens toujours que 7 resultats ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM PortZone FULL JOIN PortZoneHasPortPoid ON PortZoneHasPortPoid.FK_Zone = PortZone.Id FULL JOIN PortPoid ON PortZoneHasPortPoid.FK_PortPoid = PortPoid.Id
Quelle syntaxe est équivalente a where =* svp?
Je suis un peu perdue d'un coup !
Partager