2015-11-19 60 views
1

我一直在撞牆撞牆。Sum布爾值,然後只顯示一定數量

我有了DwgIDinteger)和Currentboolean)的表作爲表的一部分。

我想要做的是隻篩選DwgID的選擇多於1 Current

此代碼給我算正常:

`SELECT "DwgID", SUM(CASE WHEN "Current" = 1 THEN 1 ELSE 0 END) "Current" FROM "tblRev" GROUP BY "DwgID"` 

但是,如果我嘗試添加一個標準,其中Current Count is > 1,它無法與數據內容無法加載。

`SELECT "DwgID", SUM(CASE WHEN "Current" = 1 THEN 1 ELSE 0 END) "Current" FROM "tblRev" GROUP BY "DwgID" HAVING ((SUM(CASE WHEN "Current" = 1 THEN 1 ELSE 0 END) > 1))` 

我在做什麼錯?

+0

請將代碼格式化爲代碼行之前的4個空格 –

回答

0

您需要選擇不同的別名,因爲Current是列名稱。我們將其稱爲NumCurrent

SELECT "DwgID", SUM(CASE WHEN "Current" = 1 THEN 1 ELSE 0 END) "NumCurrent" FROM "tblRev" GROUP BY "DwgID" HAVING ((SUM(CASE WHEN "Current" = 1 THEN 1 ELSE 0 END) > 1)) 
+0

謝謝。正是我在找什麼。我知道這是愚蠢的我正在做:) –