|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre à l'essai
![]() Inscription : août 2006 Messages : 54 ![]() |
Bonjour,
À partir d'une info1, chercher dans table2 la colonne à rechercher dans la table 1. À partir d'une info2, chercher dans la table1 les enregistrements dont la colonne trouvée ci-dessus a la valeur d'info2. Exemple : Code :
Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
votre exemple n'est pas très concret (toto, titi, table1 champ1,...) mais je pense que vous avez un gros problème de modélisation dans votre base de données. Que représentent ces informations, et pourquoi voulez vous faire cela ? |
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : août 2006 Messages : 54 ![]() |
en fait la requête qui m'intéresse c'est celle-là !
un select dynamique dont je n aurais que le nom de la table et la valeur de la clé (le nom de champ de la clé n'étant pour chacune des tables concernées pas le même ) Code :
|
||
|
|
01
|
|
|
#4 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Bonjour
J'avais compris le principe, mais je vous demande pourquoi vous voulez faire ceci pour deux raisons : 1/ comme je le disais, votre base me semble très mal conçue. Je ne sais pas a quel stade vous en êtes au niveau du développement, et si vous avez la possibilité de faire ce qui s'impose sur le dit serveur de base de données, mais si c'est le cas, je vous invite a reconsidérer les choses et à revoir votre modèle. 2/ vos tables vont-elles être amenées à évoluer, ou est-ce que les colonnes sur lesquelles doivent s'appliquer les filtre sont déjà définies de façon exhaustive C'est pour ca aussi que savoir de quoi on parle un peu plus précisément peu aider a vous orienter vers une solution plus adéquate. |
|
|
10
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : août 2006 Messages : 54 ![]() |
Un gros problème de modélisation je pense aussi mais bon ce n'ai pas moi qui m'occupe de ça je n'ai donc pas la possibilité de le refaire correctement mais j'aurai aimé ne serais-ce que voir le modèle correct !!
Les tables seront certainement amenées à évoluer puisqu'ici tout se fait au fur et à mesure ! Pour mon cas je lis un .csv et pour chacune de ces ligne je verifier si il y a des enregistrement dans la table (le non de la table je le sais car c le nom du csv) et la cle est le premier element de la ligne du csv |
|
|
10
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Ce que vous voulez faire n'est pas possible tel que vous voulez le faire.
Vous avez deux possibilités 1/ la plus propre (ou plutot la moins sale ) consiste à effectuer une jointure dépendant du contenu de votre colonne :Code sql :
Le problème, c'est que vous devrez modifier cette requete a chaque ajout de colonne dans la table1, ce qui risque d'arriver régulièrement vu comme c'est parti. D'un autre coté, quand on est prêt a changer son modèle de données régulièrement, il faut être prêt a changer ses requêtes aussi régulièrement ! 2/ l'alternative consiste a créer votre requete dynamiquement a l'aide d'une autre requete, puis a l'exécuter. Mais cette solution a aussi son lot de risques et de complications (privilèges nécessaires, injections SQL, contexte d'exécution différent, ...). Celle solution peut toutefois faire l'affaire si par exemple vous effectuez l'opération depuis un programme externe : 1/ requete pour récupérer la colonne sur laquelle filtrer 2/ un autre requete (générée dans votre programme à partir du résultat de la première) avec le bon filtre |
||
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : août 2006 Messages : 54 ![]() |
ok tant pis
je ferais ma requete en 2 fois merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com