phpbar.de logo

Mailinglisten-Archive

[php] SQL-Frage, drei Tabellen

[php] SQL-Frage, drei Tabellen

Gemander, Ronny gemander at gmx.net
Fre Jun 15 12:51:36 CEST 2007


Dennis Dohle schrieb:
> Hallo Liste,
Tach auch...
> 
> vielleicht kann mir jemand schnell bei einer SQL-Abfrage helfen. 
> Ich habe drei Tabellen:
> 
> Tabelle 1 - "objekte"
> id_objekt, ...
> 1, ...
> 2, ...
> 
> Tabelle 2 - "merkmale"
> id_merkmal, ...
> 3, ...
> 6, ...
> 3, ...
> 4, ...
> 
> Tabelle 3 - "objekt_merkmal"
> id_objekt, id_merkmal
> 1, 3
> 1, 6
> 2, 3
> 2, 4
> 
> Ziel ist es, alle "id_objekte" zu bekommen, bei denen mehrere vorher
> definierte Merkmale zutreffen. Also z.B. wird über eine Suche nach alle
> Objekten gesucht, für denen die Merkmale mit der ID 3 (id_merkmal=3) und der
> ID 6 (id_merkmal=6) zutreffen. Demnach müsste ich irgendwie dann also
> Ergebnis das Objekt mit der ID 1 bekommen. Wenn ich nur nach einem Merkmal
> suche, ist das ja kein Thema (z.B. id_merkmal=3), aber bei zwei oder
> mehreren Kriterien ... hmmm.

Kommt drauf an wo die merkmale herkommen... fest geht:
  SELECT id_objekt FROM objekt_merkmal WHERE id_merkmal = 1 OR 
id_merkmal = 2 OR id_merkmal =3...

Wenn die id_merkmale als Array vorliegen dann:
$merkmale = implode(",",$arr_id_merkmal);
SELECT id_objekt FROM objekt_merkmal WHERE id_merkmal IN $merkmale;
> 
> Jemand eine Lösung für das Dilemma? 
> Ich möchte das gerne in einer Abfrage hinbekommen ...
> 
> 
> Gruß, Dennis

mfG Ronny
> 
> 


php::bar PHP Wiki   -   Listenarchive