SQL Query mit mehreren #_fields_values

  • Hallo zusammen,


    für Benutzer habe ich verschiedene Felder (Custom Fields Benutzer) angelegt.
    Wie das ganz in DB aussieht ist auf dem Bild zu ersehen.



    Ich würde gerne alle User (item_id) mit filtern, welche z. B. über die Inhalte gruppe 1 und Wert 1 verfügen.
    Die Abfrage

    SELECT * FROM `g9p5k_fields_values` WHERE `value` = 'Wert 1'

    ist kein Problem


    Sobald ich jedoch beide Werte prüfen will kommt kein Ergebnis.

    SELECT * FROM `g9p5k_fields_values` WHERE `value` = 'Wert 1' AND `value` = 'gruppe 1'


    Ergebnis sollte in diesem Fall 880, 49 sein.


    Hat jemand einen Lösungsvorschlag?

  • Ich glaub nicht, dass es ohne einen join geht.Du könntest sowas versuchen

    Dsiclaimer: Nicht getestet

  • @firstlady ich bin zwar nicht der ober Profi, aber das mit join zu lösen geht nach meiner Meinung über Ziel hinaus


    Ausgehend von den Infos oben

    SQL
    SELECT item_id FROM `g9p5k_fields_values` WHERE `value` IN ('Wert 1','gruppe 1');

    ergibt 880, 49, 16


    da er aber nur 880 und 49 haben will eignet sich hervorragen die field_id als zweiter filter.


    SQL
    SELECT item_id FROM `g9p5k_fields_values` WHERE `value` IN ('Wert 1','gruppe 1') AND field_id = 9;

    ergibt das gewünschte Ergebnis 880 und 49 habe es extra noch mal schnell getestet ehe ich was Falsches sage.

  • Ich bin überwältigt. So viel Engagement von Eurer Seite. Danke!!

    Ich habe in meiner Problembeschreibung das ganze etwas vereinfacht. Tatsächlich ist die Schlußproblematik komplexer.

    Für mein dargestelltes Problem funktioniert natürlich Lösung von Robox perfekt.


    Für den gedachten Anwendungsfall findet dann die Lösung von firstlady Anwendung.

    Danke an Euch beiden.

    Problem gelöst und Dank Euch viel gelernt.