|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : octobre 2002 Messages : 86 ![]() |
Bonjour,
Quelqu'un peut il m'expliquer ce que fait cette requête qui contient 2 jointures qui pour moi sont identiques. Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 654 ![]() |
Bonjour,
Déjà il n'y a pas de champs en sql, mais des colonnes Votre 1ere requête est en effet mauvaise, la 2eme jointure ne sert à rien. Maintenant la 2eme requête pourrai surement ce ré-écrire de cette manière : Code :
|
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2002 Messages : 86 ![]() |
Merci pour cette réponse.
Mon problème est que la 1ére requête est dans une appli existante et retourne des résultats. Je n'arrive pas à trouver une requête qui me renvoie la même chose. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Pour comprendre la différence remplace :
par Code :
table1.champ1, t2.champ1, t2.champ2, (t2bis.champ1, t2bis.champ2) |
|
|
00
|
|
|
#5 | ||||||||||
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
Bonjour,
Si tu prend un exemple c'est plus simple à comprendre : Table 1 Code :
Code :
t2 Code :
Code :
Code :
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
||||||||||
|
|
00
|
|
|
#6 | |||
![]() ![]() |
Citation:
C'est un double test d'existence : Code :
__________________
Email : http://scr.im/waldar |
|||
|
00
|
|
|
#7 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Effectivement la différence saute aux yeux...
Si vous faite un AND en essayant d'avoir sur la même ligne une personne qui s'appelle à la fois DUPONT et MARTIN vous me direz comment vous y arrivez !!! Il faut donc bien deux branche de jointures qui parcourent indépendamment l'un de l'autre la seconde table. A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#8 | |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 654 ![]() |
Citation:
Bref dans ce cas là un seul exists avec un OR ne serai-t-il pas mieux ? |
|
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 417 ![]() |
Non, parce qu'il faut bien que les deux conditions soient réalisées, donc AND.
Réalisées pas forcément sur la même ligne, donc deux (semi-)jointures.
__________________
(c'est ma photo) Paku, Paku ! Pour les jeunes incultes : non, je ne suis pas un pokémon... Le pacblog : http://pacmann.over-blog.com/ |
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Pacman PacmanBusiness analyst Inscription : juin 2004 Messages : 1 417 ![]() |
D'ailleurs, en une seule jointure, ça peut s'écrire :
Code :
__________________
(c'est ma photo) Paku, Paku ! Pour les jeunes incultes : non, je ne suis pas un pokémon... Le pacblog : http://pacmann.over-blog.com/ |
||
|
00
|
|
|
#11 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 654 ![]() |
Ok merci j'ai compris mon erreur.
Par contre lola01 votre exemple n'est pas bon, le résultat avec ce jeux de donnée ne retourne qu'une ligne. En insérant en plus Code :
|
||
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : octobre 2002 Messages : 86 ![]() |
Merci pour vos réponses.
Je comprends la requête et dans mon cas elle n'est pas bonne mais maintenant je sais comment elle fonctionne. Comme le disait Skautamad mettre ceci dans le select : Code :
table1.champ1, t2.champ1, t2.champ2, (t2bis.champ1, t2bis.champ2) |
|
|
00
|
|
|
#13 | ||
![]() ![]() |
On peut affiner un peu la recherche :
Code :
__________________
Email : http://scr.im/waldar |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com