2016-10-15 96 views
0

我的數據庫表看起來像這樣得到共同的價值觀:MYSQL - 來自多個查詢

enter image description here

我想運行一個查詢,將返回所有常見的USER_ID的地方 - 例如,field_id = 552 AND value = 'Savannah' AND field_id = 553 AND value = 'GA' AND field_id = 554 AND value = 'USA'。 (所以在這種情況下,基於截圖中可見的記錄,結果將簡單地爲'1')。

我一直在尋找連接與聯合,但我覺得我已經下了兔子洞,找不到我的方式回來。

這可能嗎?

回答

1

下面是使用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

這似乎做的正是我需要它,謝謝。 – user2614806