Mailinglisten-Archive |
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