0
這可能很簡單,但我已經搜索了文檔,並且找不到它。這裏的源表:選擇在自己的列中排列標準的語句
store item date sales
101 00001 27-Oct-12 1
101 00002 27-Oct-12 0
102 00001 27-Oct-12 2
102 00002 27-Oct-12 1
101 00001 3-Nov-12 0
101 00002 3-Nov-12 0
102 00001 3-Nov-12 1
102 00002 3-Nov-12 1
...我想寫一個查詢利用與具有自己的列,也就是說,只要項目#賣場每月銷售的表落得00001--
monthyear store101sales otherstoresales
10/2012 1 2
11/2012 0 1
下面是我tried--
select distinct
year(date) as SalesYear,
month(date) as SalesMonth,
sum(case when store in (101) then sales.count else 0 end) as store101sales,
sum(case when store in (102,103) then sales.count else 0 end) as otherstoresales,
from source_table
where item=00001;
GROUP BY SalesYear, SalesMonth, store101sales, otherstoresales,
ORDER BY SalesYear, SalesMonth, store101sales, otherstoresales;
讚賞任何幫助的代碼;謝謝!
非常感謝您對本;它仍然沒有工作。這裏是我得到的錯誤:錯誤:未解決的表/關聯名稱銷售引用。 錯誤:未解決的表/關聯名稱銷售引用。 錯誤:WHEN子句2的結果與前面的結果不是相同的數據類型。 錯誤:SUM彙總功能需要數字參數。 錯誤:WHEN子句2的結果與前面的結果不是相同的數據類型。 錯誤:SUM彙總功能需要數字參數。 – America
啊,沒有注意,。你有'sales.count',它會引用一個字段'count'作爲別名爲'sales'的表,所以我相信上面的更新應該這樣做。 –
完美!我曾設想過提及獲得總和所需銷售對象的某種計數方法。再次感謝您的時間並幫助提高我的SQL讀寫能力。 – America