我創建一個查詢返回一個數字:年初至今如下:多個嵌套的SELECT
SELECT TableTemp.YTD
FROM(
SELECT((select COUNT(Items.ItemID) * 100 FROM Items WHERE Items.StatusID in (5,7,11) and year(Items.Close_Date) = 2016)/(select COUNT(Items.ItemID) FROM Items WHERE Items.StatusID in (5,7,11,6) and year(Items.Close_Date) = 2016) )As YTD
) AS TableTemp
GROUP BY TableTemp.YTD ;
這完美的作品,但是當我添加另一部分返回另一個號碼YTD和thisMonth的:
SELECT TableTemp.YTD , TableTemp.thisMonth
FROM(
(select((select COUNT(Items.ItemID) * 100 FROM Items WHERE Items.StatusID in (5,7,11) and year(Items.Close_Date) = 2016)/(select COUNT(Items.ItemID) FROM Items WHERE Items.StatusID in (5,7,11,6) and year(Items.Close_Date) = 2016)) As YTD,
(select ((select COUNT(Items.ItemID) * 100 FROM Items WHERE Items.StatusID in (5,7,11) and year(Items.Close_Date) = 2016 and month(Items.Close_Date) = 11)/(select COUNT(Items.ItemID) FROM Items WHERE Items.StatusID in (5,7,11,6) and year(Items.Close_Date) = 2016 and month(Items.Close_Date) = 11)) As thisMonth
) AS TableTemp
GROUP BY TableTemp.YTD
即使我簡化這
SELECT TableTemp.YTD , TableTemp.thisMonth
FROM(
select COUNT(Items.ItemID) As YTD
, select COUNT(Items.ItemID) As thisMonth
) AS TableTemp
GROUP BY TableTemp.YTD, TableTemp.thisMonth
我得到一個語法錯誤NEER SELECT COUNT(Items.ItemID)作爲thisM onth
它似乎是語法錯誤。任何想法如何做到這一點?
您正在使用哪些DBMS? –
不要在列上使用函數來過濾行。使用年份(...)將刪除訪問該卷的索引(在大多數dbs中)的能力..您使用的是什麼數據庫?,其重要的是要知道這 –