• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Suche mit mehreren Parametern

wurzler

Neues Mitglied
Hallo!
Habe ein kleines Problemchen mit einer Suche, die ich machen will:

Ich habe 3 Tabellen:

jml_community_users , jml_community_fields und jml_community_fields_values

In jml_community_users finden sich Name, registerDate usw. sowie die 'userid'

In jml_community_fields wird jede suchbare Kategorie aufgeführt: Firma, Standort, Alter mit den entsprechenden Id's (19,20,21) dazu.

In jml_community_fields_values werden dann die Einträge für jeden User gespeichert (Jede Zeile ein Eintrag, also entweder Alter oder Firma oder Standort pro Zeile). Jede Zeile halt die Spalten: user_id, field_id, value

Habe schon zahlreiche Versuche mit JOINS gestartet, aber dadurch, dass jede Kategorie immer in eine extra Zeile gespeichert wird, bekomme ich bei mehr als einem Parameter nie etwas zurück. Bis jetzt habe ich dann immer auf jml_community_fields_values.value zum Vergleichen zurückgreifen müssen. Darunter finden sich ja Alter, Firma und Standort.

Letzter Versuch war:
Code:
SELECT * FROM jml_community_users 
INNER JOIN jml_community_fields_values 
ON jml_community_users.userid = jml_community_fields_values.user_id 
WHERE jml_community_fields_values.value='$company' 
AND jml_community_fields_values.value='$age'

Kann mir da jemand weiterhelfen, wie ich genau die User zurückbekomme, deren Firma, Standort und Alter gleichzeitig passen?

Vielen herzlichen Dank, Gruß Basti
 
Sowas?

Code:
SELECT
  field1,
  field2,
  field3,
  (SELECT foo FROM bar sub WHERE categorytype=42 AND main.id = sub.id) as field4,
  (SELECT foo FROM bar sub WHERE categorytype=43 AND main.id = sub.id) as field5,
  (SELECT foo FROM bar sub WHERE categorytype=44 AND main.id = sub.id) as field6
FROM jml_community_users main WHERE TRUE

Gruß

//Edit (Main/Sub) hinzugefügt
 
Zuletzt bearbeitet:
Zurück
Oben