[英]sql server syntax error near where in subquery
我試圖獲得客戶的最新狀態。 通過瀏覽示例,我整理了以下查詢,該查詢有效:
SELECT table.Card,
table.Type,
table.Date,
ROW_NUMBER() OVER
(PARTITION by table.CARD ORDER BY table.date DESC, table.TYPE, table.DATE) rn
FROM table
WHERE table.Type = 'active' or table.Type = 'erased'
從那里,我只需要rn = 1的那些記錄,但是一旦我嘗試將其用作子查詢(如下所示),就會收到語法錯誤:
SELECT * FROM (
SELECT table.Card,
table.Type,
table.Date,
ROW_NUMBER() OVER
(PARTITION by table.CARD ORDER BY table.date DESC, table.TYPE, table.DATE) rn
FROM table
WHERE table.Type = 'active' or table.Type = 'erased'
) WHERE rn=1
它一定很簡單,我只是想念,但我完全感到困惑。 任何幫助將不勝感激。
您應該為INNER選擇分配一個別名。 嘗試這個。
SELECT * FROM (
SELECT table.Card,
table.Type,
table.Date,
ROW_NUMBER() OVER
(PARTITION by table.CARD ORDER BY table.date DESC, table.TYPE, table.DATE) rn
FROM table
WHERE table.Type = 'active' or table.Type = 'erased'
) foo WHERE rn=1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.