2016-07-25 61 views
1

查詢實在太爛了整整一天:(..我得到一個問題,同時獲取查詢結果SQL連接查詢,以檢查登錄的用戶喜歡或不

情景:我有其中第一個表中的兩個表我保存了用戶活動的詳細信息,第二個表用於保存其他用戶輸入的所有活動的用戶的喜歡功能。

我需要的是獲取類似值是否當前登錄用戶已經喜歡活動。某種布爾值

表存儲活動

enter image description here

表來存儲像數

enter image description here

,我需要檢查什麼是獨特的活動明智的登錄用戶一樣檢查。 嘗試查詢:

SELECT at.id, 
CASE WHEN lk.status =1 and lk.user_id = 6 
    THEN 1 
    ELSE 0 
END AS l 
FROM activity_transactions at 
LEFT JOIN likes lk ON at.id = lk.activity_transaction_id 

輸出我與duplicates-

enter image description here

傢伙的任何解決方案獲得? 問題是,我得到重複的行。我需要檢查1,如果用戶喜歡其他0活動行。

+0

因爲「like」表包含重複值,所以放置區別。或者使用內部連接 –

+0

我試圖內部連接甚至截然不同,但沒有得到正確的輸出。:( –

+1

嘗試使用此查詢「SELECT at.id,CASE WHEN lk.status = 1 and lk.user_id = 6 THEN 1 ELSE 0 END AS l FROM LEFT JOIN的activity_transactions喜歡lk ON at.id = lk.activity_transaction_id group by at.id,l「。對於我來說,上面的輸入表 –

回答

2

請嘗試此查詢「SELECT at.id,CASE WHEN lk.status = 1 and lk.user_id = 6 THEN 1 ELSE 0 END AS l FROM activity_transactions at LEFT JOIN likes lk ON at.id = lk.activity_transaction_id由at.id,l分組「。它正在爲我工​​作以上輸入表

標記此問題以便標記爲已解決。