這是我的查詢。我需要爲每個線程只選擇一條不同的記錄,但因爲我正在返回,所以它不能是唯一的,並且返回兩條記錄。需要SQL查詢幫助嗎?
請幫我修改我的查詢,使其工作。謝謝
SELECT DISTINCT T2.Name, T0.ThreadID, (CASE WHEN T0.Status = 0 THEN 1 ELSE 0 END) AS Highlight
FROM Messaging T0
INNER JOIN Table1 T1 ON T0.ThreadID = T1.ThreadID
INNER JOIN Table2 T2 ON T0.UserID = T2.UserID
INNER JOIN Table3 T3 ON T3.ID = T0.ID
WHERE T0.UserID != 9149
GROUP BY U.Name, M.ThreadID
ORDER BY Highlight DESC
該查詢返回結果就像你可以看到下面
Name ThreadID Highlight
Alex 048C8E05-422C-491A-880C-AE370194AE8C 1
Andrew 048C8E05-422C-491A-880C-AE370194AE8B 0
Alex 048C8E05-422C-491A-880C-AE370194AE8C 0
Table T0
RecordID UserID ThreadID Status
1 9090 048C8E05-422C-491A-880C-AE370194AE8C 0
2 9149 048C8E05-422C-491A-880C-AE370194AE8C 1
3 9090 048C8E05-422C-491A-880C-AE370194AE8C 1
4 5454 048C8E05-422C-491A-880C-AE370194AE8B 0
5 9149 048C8E05-422C-491A-880C-AE370194AE8B 0
創業所以,如果你只想要一個行亞歷克斯,高亮值你想'選擇哪個'? 0,1?最老的?最新的? – Matthew
是隻有一行,如果至少有一個0突出顯示爲真,如果不突出顯示false –
我爭辯說,這個問題已經回答了標準SQL。你在哪些數據庫中使用發佈的答案不起作用?請將您的結果發佈在Abe Miessler的答案 – Matthew