Hallo,
ich habe hier eine Abfrage ueber 3 Tabs unter PHP.
b_id ($id) wird übergeben:
nun möchte ich alle werte aus tab a bekommen, die eine zuordnung zu tab b haben … in tab c zu finden.
aber irgendwie bekomme ich das nicht hin.
ich hatte folgendes probiert
SELECT a_name,a_text FROM a WHERE (SELECT fk_a_id FROM zuordnung WHERE fk_b_id=’$id’) … hier fehlt mir dann der Rest
(vereinfacht dargestellt)
tab a
a_id
a_name
a_text
tab b
b_id
b_name
b_text
tab zuordnung
fk_a_id
fk_b_id
oder muss ich da 2 abfragen draus machen?
bin für alle tipps dankbar.
Liebe Gruesse
Steffi
Anonym
18. September 2001 um 16:19
2
Hi,
SELECT a_name,a_text FROM a WHERE (SELECT fk_a_id FROM
zuordnung WHERE fk_b_id=’$id’) … hier fehlt mir dann der
Rest
Du meinst wahrscheinlich einen Subselect:
select a\_name, a\_text
from a
where a\_id in (select fk\_a\_id from c);
Besse über einen Join zu erledigen:
select a\_name, a\_text
from a, c
where a.a\_id = c.fk\_a\_id;
Die Joinbedingung wird so überall funktionieren, je nach DB-System gibt es aber performantere Methoden (inner join o.Ä.).
Gruß
J.
Hi,
leider nicht ganz das, was ich suchte.
also noch mal deutlicher beschrieben:
ich suche alle links zu einem bestimmten Stichwort:
also
SELECT link\_name,link\_url
FROM link, zuord\_link
WHERE link zugehoerig zu stichwort
fk_stich_id = ‚$id‘
hm, doch nicht so einfach??
Gruss Steffi
tab-stichwort
stich_id
stich_name
tab-link
link_id
link_name
link_url
tab-zuord_link
fk_stich_id
fk_link_id
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Anonym
19. September 2001 um 13:53
4
Hi,
leider nicht ganz das, was ich suchte.
Aber das, wonach Du gefragt hast
also noch mal deutlicher beschrieben:
ich suche alle links zu einem bestimmten Stichwort:
also
SELECT link_name,link_url
FROM link, zuord_link
WHERE link zugehoerig zu stichwort
Was meinst Du genau mit „zugehörig zu“?
Nach meiner Interpretation sollte das doch etwa so sein:
WHERE link.link\_id = zuord\_link.fk\_link\_id
AND zuord\_link.stichwort = $eingegebenes\_stichwort;
Was steht in Deinen Tabellen? Wo steht der Link (wohl bei Link), wo steht das Stichwort (auf zuord_link oder etwa auf Stichwort),
was ist die Eingabe?
Gruß
J.
Stimmt das wars jetzt
eigentlich ganz logisch. Wer weiss, wo ich meine Gedanken hatte
danke steffi
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]