|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 24 ![]() |
Bonsoir,
J'ai trois tables sql, la première , 'appartements' la deuxième 'maison' et la troisième 'transactions' A vendre et A louer. La table appartements et la table maisons contiennent toutes les deux une clé étrangère 'transactionID', si l'appartement ou la maison est à vendre transactionID = 1, si c'est à louer transactionID=2. je voudrais faire une jointure entre elles, pour avoir dans un même tableau tous les appartements et maisosn qui sont à vendre si la condition de la requête transactionID=1 et pareille tous les appartements et maisons qui sont à louer si transactionID=2. Voilà la requête que j'ai testé et qui ne marche pas: Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 099 ![]() |
Bonjour,
Ta requête ne fonctionne que si tu as aumoins une maison ET au moins un appartement à vendre... De plus, si tu as 3 maisons et 5 appartements, elle te renvoie 15 lignes (les 15 combinaisons possibles). Je pense qu'il te faut une union de 2 requêtes, une qui renvoie les maisons, et l'autre les appartements. Tatayo. |
|
|
30
|
|
|
#3 | ||
|
Invité régulier
![]() Étudiant Inscription : janvier 2012 Messages : 22 ![]() |
Salut, moi je ferai ça :
Code :
|
||
|
|
01
|
|
|
#4 |
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 099 ![]() |
Même problème que la requête d'origine, et surtout je ne vois pas trop l'intérêt de spécifier le schéma/la base pour la table transactions...
Tatayo. |
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() Laure Consultante en Business Intelligence Inscription : avril 2007 Messages : 983 ![]() |
En passant ce n'est plus la norme utilisée pour les jointures !!
A moins que son SGBD ne supporte pas les JOIN, mais on ne peut pas savoir car nous ne le connaissons pas. Les left outer join pourront régler ton problème : Code :
__________________
~ Lola ~ Ne pas oublier : et aussi :
|
||
|
|
10
|
|
|
#6 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 24 ![]() |
Merci, pour vos réponses, je vais tester tous ça et revenir vous dire qu'est-ce qu'il en est.
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Inscription : août 2009 Messages : 779 ![]() |
Il semble en outre y avoir confusion entre deux colonnes de la table transactions, vu qu'il n'y a que "transaction.ID" dans votre requête :
- Celle qui détermine l'ID de la transaction à proprement parler, et qui permet semble-t-il de faire jointure avec maison et appartement. - Celle qui détermine la catégorie de la transaction. |
|
|
10
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 24 ![]() |
Après avoir tester ce code:
Code :
Pour afficher tous les biens à vendre dans la même page, il ne faut pas que les références des deux types de biens soient dans la même colonne..???? Merci pour vos réponses |
||
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 099 ![]() |
Si tu veux les appartements et les maisons sur la même colonne, il faut utiliser une union:
Code SQL :
Pour ta deuxième question, difficile de répondre, ça dépend du code de la page en question. Tatayo. |
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 24 ![]() |
Merci pour ta réponse tatayo, je vais tester tous ça!
|
|
|
00
|
|
|
#11 | ||
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 24 ![]() |
Voilà le code après une petite adaptation, J'ai pu avoir tous les appartements et maisons qui son à vendre sur la même page.
Code :
Merci encore une fois à toutes et à tous qui mon aidé à résoudre ce problème. A bientôt!!! |
||
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Inscription : août 2009 Messages : 779 ![]() |
En supposant qu'il y ait bien une Foreign Key, quel est l'intérêt d'avoir la table Transactions si on n'y met aucun filtre et qu'on n'en prend aucun champ ?
Code :
|
||
|
|
30
|
|
|
#13 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 24 ![]() |
Ok, comme je suis toujours en quête d'apprentissage, je vais tester ce code.
Merci |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : novembre 2008 Messages : 24 ![]() |
Châpeau! j'obtiens le même résultat sans faire recours à la table transactions.
Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com