2010-06-30 37 views
3

這裏是一個普通的SQL語句:轉換SQL來訪問

SELECT SUM(CASE WHEN [Column2] = 'Cylinder' THEN 1 ELSE 0 END) as 'Cylinder count', 
SUM(CASE WHEN [Column2] = 'Snap' THEN 1 ELSE 0 END) as 'Snap count', 
SUM(CASE WHEN [Column2] = 'Tip' THEN 1 ELSE 0 END) as 'Tip count', 
SUM(CASE WHEN [Column2] = 'Other' THEN 1 ELSE 0 END) as 'Other count' 
FROM [TableName] 
WHERE [Column1] = '1.9 QNS-Quantity Not Sufficient' 

可以請你將它轉換爲MS-訪問?

基於這樣一個問題:

https://stackoverflow.com/questions/3153829/question-on-complex-select-statement

回答

4

Microsoft Access不支持CASE,但你可以使用IIF代替:

SELECT 
    SUM(IIF([Column2] = 'Cylinder', 1, 0)) as 'Cylinder count', 
    SUM(IIF([Column2] = 'Snap', 1, 0)) as 'Snap count', 
    SUM(IIF([Column2] = 'Tip', 1, 0)) as 'Tip count', 
    SUM(IIF([Column2] = 'Other', 1, 0)) as 'Other count' 
FROM [TableName] 
WHERE [Column1] = '1.9 QNS-Quantity Not Sufficient' 

參考

+0

我不認爲你需要圍繞字段別名引號。 – 2010-07-01 01:37:43