У меня проблема, я пытаюсь использовать PIVOT в моем запросе и без каких-либо результатов. Сейчас у меня есть таблица, которая выглядит как:SQL using PIVOT right
Category Month Value
A August 10
B August 19
C August 15
A September 20
B September 23
C September 25
A October 24
B October 87
C October 44
Я хочу, чтобы выглядеть таким образом:
Category August September October
A 10 20 24
B 19 23 87
C 15 25 47
В мой выбор что-то вроде:
Select cat_name, CAST(month AS VARCHAR(20)), value from dbo.table1.
_
select * from (
select ft.categoryData as [category], CAST(fft.date AS VARCHAR(20)) as [month], tt.value as [value] from firstt ft
join secondt st on ft.id = st.id
join thirdt tt on ft.id = tt.type_id
join fourtht fft on ft.id = fft.category_id
where ft.date between '2015-07-01' and '2015-09-01' and ft.country = 'EUR'
group by fft.date, ft.categoryData, tt.value
) as t
PIVOT (
max(value)
for [date] in ([jul], [aug], [sept])
) as pvt
Уважаемый VR46, я обновил мой вопрос, что, как я сделал, что касается вашего ответа, но значение имеют 'NULL' –
@DanPaschevici - обновлена проверка динамического метода –
Супер !!! большое спасибо ... он работает –