|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : juin 2007 Messages : 19 ![]() |
Bonjour à tous,
Quelqu'un saurait comment on fait pour insérer dans un JOIN le nom d'une table issue de la requête ? exemple : Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
J'avoue ne pas bien comprendre votre problème Un petit exemple ? Si c'est un nom que vous souhaitez mettre dynamiquement dans la requête, il faut jeter un œil du côté des commandes préparées. ced
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() ![]() Inscription : novembre 2007 Messages : 134 ![]() |
Bonjour,
Je suis curieux de voir un aperçu de la base car je ne comprends pas bien non plus. D'autre part, vous faites une jointure gauche, donc vous aurez tous les enregistrements de T1 et seulement les enregistrements de T2 correspondant mais vous n'utilisez aucune colonne de T2, alors à quoi bon cette jointure si elle ne sert ni à filtrer, ni à récupérer des informations ? Eclairez nous un peu plus sur le sujet. |
|
|
00
|
|
|
#4 | ||
|
Invité régulier
![]() Inscription : juin 2007 Messages : 19 ![]() |
Bonjour, et Merci Ced, Patic de tenter de m' aider
Oui j' ai voulu faire un mini exemple mais ce n' était pas une bonne idée, désolée ! Voici un autre mini exemple de mes tables : Code :
J' aimerais savoir comment faire pour récupérer le nom de la table contenu dans cette colonne et la mettre dans le JOIN de la même requête... Pour obtenir : DUPONT Jacques / 555222333 / Entreprise : Client 2 DURAND Paul / 555666777 / Entreprise : Agent 1 Voila. Merci beaucoup |
||
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() ![]() Inscription : novembre 2007 Messages : 134 ![]() |
Bonjour,
Je me trompe peut être, n'ayant qu'une connaissance pratique du sql comme autodidacte et non une connaissance théorique. Vous ne pouvez pas avoir une seule jointure avec une table jointe différente pour chaque ligne, on travaille ici avec des ensembles. Cela serait peut être faisable avec du sql dynamique en traitant ligne à ligne puis en alimentant une table temporaire avec le résultat de chaque ligne mais à mon avis il y a mieux. Si vous pouvez revoir la structure de la base, il serait possible, sur la même idée qu'un objet, de créer une seule et même table qui comprendrai toutes les sociétés quel que soit leur type (agent, client, etc), on ajouterai alors simplement une colonne pour le type comme on le ferait avec un attribut d'une classe. Le seul problème est si vous pouvez avoir une même société sur plusieurs types. Ensuite il n'y a plus de problèmes avec la jointure sur la table contact puisqu'il n'y aura pas de doublon de clés. Une autre possibilité, vous créez des clés alphanumériques composées, comme AG00001 pour agent, etc. Encore une autre possibilité, vous faites une requête comme celle ci : Code :
Bon courage |
||
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : juin 2007 Messages : 19 ![]() |
Bonsoir Patic !
Votre exemple [code] fonctionne parfaitement ! Merci infiniment |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com