|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 2 ![]() |
Bonjour,
Tout d'abord, mes excuses pour le titre : je n'ai pas trouvé plus éloquent. J'ai en effet besoin d'aide pour construire une requête. La situation est la suivante. Je possède deux tables avec deux attributs en "commun". J'utilise des guillemets car j'aimerais faire une jointure avec une condition : si attribut de la table 1 n'est pas dans la table 2, alors considéré sa valeur à 0. Ayant du mal aussi avec l'explication textuelle, je vous ai mis un exemple en fichier joint. Comme vous pouvez le voir, si dans la table 1, nous avons le couple (IdPays, IdEquipe) dans la table 2, on fait une jointure normale. Par contre, si dans la table 1, seul l'attribut IdPays se trouve dans la table 2, on considère l'attribut IdEquipe avec une valeur égale à 0 pour la jointure. Si je n'ai pas été assez clair, n'hésitez pas à me questionner. En vous remerciant grandement d'avance pour la lecture de mon post et potentiellement votre aide. |
|
|
10
|
|
|
#2 | ||||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
S'il n'y a bien qu'un IdEquipe à 0 par IdPays alors tu peux essayer :
Code :
J'ai un peu réfléchi à comment éviter la requête corrélée, mais je ne vois rien de super fancy, je poste un jeu de test pour ceux qui auraient de meilleurs idées (mais une requête corrélée n'est pas mauvaise en soit surtout si la base est correctement indexée) : Code :
|
||||
|
|
10
|
|
|
#3 | ||
![]() ![]() |
Avec deux jointures !
Code sql :
__________________
Email : http://scr.im/waldar |
||
|
10
|
|
|
#4 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 2 ![]() |
Merci à tous les deux.
J'avais bidouillé quelque chose semblable à la proposition de skuatamad. Mais le coup de la double jointure me convient parfaitement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com