Я использую следующий запрос SQL, чтобы вернуть таблицу с 4 столбцами Year
, Month
, Quantity Sold
, Stock_Code
,
SELECT yr, mon, sum(Quantity) as Quantity, STOCK_CODE
FROM [All Stock Purchased]
group by yr, mon, stock_code
order by yr, mon, stock_code
Это пример некоторых изНО у меня есть около 3000 Stock_Codes и около 40 x год / месяц комбинаций.
yr mon Quantity STOCK_CODE
2015 4 42 100105
2015 4 220 100135
2015 4 1 100237
2015 4 2 100252
2015 4 1 100277
Я хочу объединить это в таблицу, в которой есть строка для каждого SKU и столбцы для каждой комбинации года / месяца.
Я никогда раньше не использовал Pivot, поэтому провел некоторое исследование и создал SQL-запрос, который, по моему мнению, должен работать.
select * from
(SELECT yr,
mon, Quantity,
STOCK_CODE
FROM [All Stock Purchased]) AS BaseData
pivot (
sum(Quantity)
For Stock_Code
in ([4 2015],[5 2015] ...........
) as PivotTable
Этот запрос возвращает таблицу с Yr в качестве col1, Mon в качествеcol2, а затем 4 2015 и т. д. в качестве последующих столбцов.Принимая во внимание, что я хочу, чтобы col1 был Stock_Code, а col2 - количество этого биржевого кода, проданного в 4 2015 году.
Очень хотелось бы понять, что не так с моим кодом выше, пожалуйста.