2016-10-15 3 views
0

Meine Datenbank-Tabelle sieht wie folgt aus:mySql - erhalten gemeinsame Werte aus mehreren Abfragen

enter image description here

Ich versuche, eine Abfrage auszuführen, die alle gängigen User_id der wo zurückkehren würde - zum Beispiel, field_id = 552 AND value = 'Savannah' AND field_id = 553 AND value = 'GA' AND field_id = 554 AND value = 'USA'. (In diesem Fall würde das Ergebnis, basierend auf den in meinem Screenshot sichtbaren Datensätzen, einfach '1' sein).

Ich habe Joins und Unions angeschaut, aber ich habe das Gefühl, dass ich in ein Kaninchenloch geschlüpft bin und meinen Weg zurück nicht finden kann.

Ist das möglich?

Antwort

1

Hier ist eine Option conditional aggregation:

select user_id 
from yourtable 
group by user_id 
having max(case when field_id = 552 then value end) = 'Savannah' and 
     max(case when field_id = 553 then value end) = 'GA' and 
     max(case when field_id = 554 then value end) = 'USA' 
+0

Dies scheint genau das zu tun, was ich brauche es Ihnen danken. – user2614806

Verwandte Themen