J'ai trois tables comme suit:SQL select - un à plusieurs à plusieurs
m(id INT, name TEXT)
tn(id INT, name TEXT, valueid INT)
tv(valueid INT, name TEXT)
Dans le tableau m il n'y a que des entrées uniques. La table 'tn' contiendra au moins une valeur qui correspond au champ m.id, généralement il y en a beaucoup. Enfin, la table 'tv' a de nombreuses valeurs qui sont associées à la table tn en utilisant le champ valueid. Le résultat serait de pouvoir choisir une valeur dans la table m trouver sa valeur correspondante dans la table 'tn' comme si m.id = tn.id. Enfin, j'ai besoin de sortir toutes les valeurs tv qui s'associent au champ tn.valueid.
sortie serait quelque chose comme si
foo host bar
foo host foobar
bar host1 foo
Si la colonne 1 est de m.name, colonne 2 est de tn.name et de la colonne 3 de tv.names. Pour chaque entrée dans tv.names se traduira par une nouvelle ligne de sortie pour ma requête.
Mise à jour:
Jusqu'à présent, j'ai pu construire la première requête qui me permet de choisir le nom unique en m et ses valeurs associées à tn.name:
select m.name, tn.name from m, tn where m.id = tn.id and m.id = 128;
J'ai besoin pour étendre cela à inclure la troisième table et limiter le choix par le champ valueid dans les deux autres tables.
Merci.
Alors, qu'avez-vous essayé? – elias