Einzelnen Beitrag anzeigen
  #3  
Alt 09.04.2010, 19:16:14
Lutz Lutz ist offline
Anfänger
 
Registriert seit: Apr 2010
Alter: 51
Beiträge: 3
AW: Suche erweitern

Zitat:
Zitat von urvater Beitrag anzeigen
SELECT * FROM `tabelle` WHERE hobby IN (4,2,5) AND (alter = '20-30' OR alter='30-40') AND personen = 2
Hallo urvater,

mit deiner Abfrage setzt du aber voraus das in `tabelle` die einzelnen Spalten Hobby, Alter, Personen usw. existieren! Dann hätte ich das auch so gemacht wie du vorschlägst. Aber dann könnte ich ja etliche Spalten machen und immer wenn eine neue Aswahl hinzukommt muss ich die Tabelle dann erweitern. In der Tabelle die ich mir vorstellte gibt es daher nur 3 Spalten! Hobby, Alter, Personen usw. sind also in einer einzigen Spalte vereint. Es gibt also für jedes Element eine eigene ID z.B. Hobby = 1, Alter = 2, Personen = 3 usw. wodurch die einzelnen Kriterien zuordbar sind.

Erste Spalte = User_ID
Zweite Spalte = Auswahl_ID (1=Hobby, 2=Alter, 3=Personen, 4=.....)
Dritte Spalte = Option_ID (1=Fußball, 2=Tennis, 3=Schwimmen, 1=20-30, 2=30-40 usw...)

Wie würde denn dann eine entsprechende Abfrage aussehen? Ich habe es schon mit
Code:
SELECT DISTINCT User_ID FROM `tabelle` WHERE (Auswahl_ID=1 && Option_ID IN (1,2,3)) || (Auswahl_ID=2 && Option_ID IN (1,2,3,4,5)) || (Auswahl_ID=3 && Option_ID IN (2,3)) GROUP BY User_ID
versucht. Aber ich bekomme dann irgendwie noch immer zu viele Ergebnisse angezeigt.


MfG Lutz
Mit Zitat antworten