declare @userid int
set @userid=9846
SELECT TOP 10
tagid,
[Description]
FROM tagsuggestion
WHERE tagid IN (SELECT **DISTINCT** TOP 10 tagid
FROM (SELECT ulpt.tagid,
createddate
FROM userlocationposttag ulpt
WHERE [email protected]
UNION ALL
SELECT ult.tagid,
createddate
FROM userlocationtag ult
WHERE [email protected]
UNION ALL
SELECT upt.tagid,
createddate
FROM userprofiletag upt
WHERE [email protected]
) T
ORDER BY createddate DESC)
上述查詢是錯誤的如果指定了SELECT DISTINCT,ORDER BY項必須出現在選擇列表中。如果指定SELECT DISTINCT,則ORDER BY項必須出現在選擇列表中
。但如果我刪除DISTINCT這個查詢運行
我要保證清晰度,我也想通過createddate DESC保持排序順序
我相關聯的支柱之一是
Last created 10 records from all of the 3 tables
「ORDER BY項目必須出現在選擇列表中,如果指定了SELECT DISTINCT「 - 你會意識到,如果像你說的那樣刪除** DISTINCT **,那麼這個短語不再適用...(如果指定了Y,那麼X是必需的 - 已刪除Y) –
另外,SQL Server的版本是什麼? –
所以你的第一個問題是誤導你的*實際*問題? – gbn