Verzwickte Select abfrage

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 :frowning:

(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

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 :frowning:

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]

Hi,
leider nicht ganz das, was ich suchte.

Aber das, wonach Du gefragt hast :smile:

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 :frowning:

danke steffi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]