phpbar.de logo

Mailinglisten-Archive

[php] Abfrage bei mehreren Einträgen in einer Spalte

[php] Abfrage bei mehreren Einträgen in einer Spalte

Gemander, Ronny gemander at gmx.net
Die Jun 12 14:24:54 CEST 2007


Jörn Grube schrieb:
> Der "Dummy" vom Dienst ist mal wieder da :) Guten Tag erstmal.
> 
> Ich habe zwei Tabellen, eine für Musikstile, eine für Interpreten. Auf 
> der Seite, wo die Musikstile gelistet werden, sollen nun bei jeder 
> Stilrichtung die Interpreten erscheinen, welche diesen Stil bevorzugen. 
> Solange dies nur einer ist, ist das ja kein Thema:
> 
> $sqlInterpreten = "SELECT
> 			dj_interpret_kname
> 		   FROM
> 			dj_interpret
> 		   WHERE
> 			dj_interpret_stil = '".$id."'
WHERE
dj_interpret_stil IN ('20,57,15')
LIMIT 0,xxx

oder:
WHERE
dj_interpret_stil IN ('SELECT ID FROM `verknuepfungstabelle` WHERE 
dj_interpret_kname = 'Black Sabbath')

> 		   ORDER BY dj_interpret_kname ASC";
> 
> Nun hab ich für das Eintragen der Interpreten aber bei Stil ein 
> multiples Select-Feld, es gibt ja Interpreten, die mehrere Sachen 
> spielen (z.B. Black Sabbath mit Hard Rock, Heavy Metal, Doom Metal). In 
> der Spalte der Interpreten-Tabelle werden die IDs der Stile dann 
> beispielsweise so abgelegt:
> 
> 20|57|15
> 
> Wie muss ich denn nun die Abfrage schreiben, damit - um beim Beispiel zu 
> bleiben - Black Sabbath bei allen drei Musikstilen erscheint?? Ich hatte 
> an LIKE gedacht, aber irgendwie macht das auch nicht wirklich Sinn, oder?
> Schon Mal Dank im Voraus und einen schönen Tag noch Jörn Grube

http://dev.mysql.com/doc/refman/5.0/en/in-subquery-optimization.html

Gruss, Ronny

php::bar PHP Wiki   -   Listenarchive