2014-04-29 38 views
0

我從狀態表中選擇了所有狀態,然後想要添加一個新列以及這些狀態的計數。如果沒有發現,零應該是默認值。返回一個選定的狀態表,然後加入另一個表中這些狀態的計數。 SQL

SELECT 
    AQA.StatusId, 
    AQA.[Description], 
    NULL(Count(AQ.ActiveStatus)) AS Count 
FROM 
    AP_QuoteActiveStatus AS AQA WITH(NOLOCK) 
    LEFT OUTER JOIN AP_Quote AS AQ WITH(NOLOCK) ON AQ.ActiveStatus = AQA.StatusId 
ORDER BY AQA.[Description] 

我得到讀取爲錯誤:附近 '計數'

消息102,15級,狀態1,4號線有語法錯誤。消息 319,級別15,狀態1,行6關鍵字 '與'之間的語法錯誤。如果此語句是通用表格表達式,則爲 xmlnamespaces子句或變更跟蹤上下文子句,則前面的 語句必須以分號結尾。消息319,級別15, 狀態1,行7關鍵字'with'附近的語法不正確。如果此 語句是公用表表達式,xmlnamespaces子句或 更改了跟蹤上下文子句,則前面的語句必須以 以分號結尾。

回答

1
SELECT 
    AQA.StatusId, 
    AQA.[Description], 
    Count(ISNULL(AQ.ActiveStatus, '0')) AS [Count] 
FROM 
    AP_QuoteActiveStatus AS AQA WITH(NOLOCK) 
LEFT OUTER JOIN AP_Quote AS AQ WITH(NOLOCK) 
    ON AQ.ActiveStatus = AQA.StatusId 
GROUP BY AQA.StatusId, AQA.[Description] 
ORDER BY AQA.[Description] 
+0

謝謝你的作品。分組是否刪除了外連接的重複? – Pomster

+0

是的,在這種情況下,「GROUP BY」正在這樣做。 –

+0

謝謝,並且由於計數的默認返回值爲0,所以我不需要NULL(Count(AQ.ActiveStatus),'0')? – Pomster

相關問題