Нужен запрос select, чтобы получить вывод, как показано ниже.?
У меня есть таблица SQL (образец) , как показано ниже,
| Loc | Date | Id| Sts| ----------------------------- | Hyd | 15-01-2016 | 1 | A | | Vjd | 16-01-2016 | 2 | B | | Viz | 15-01-2016 | 3 | C | | Hyd | 15-03-2016 | 4 | A | | Vjd | 15-03-2016 | 5 | B | | Viz | 15-03-2016 | 6 | C | | Hyd | 15-03-2016 | 4 | A | | Vjd | 15-05-2016 | 5 | B | | Viz | 15-05-2016 | 6 | C | And i need output like, | Loc | Jan-16 | Mar-16 | May-16 | | |A |B |C |A |B |C |A |B |C | ------------------------------------- | Hyd |1 |0 |0 |2 |0 |0 |0 |0 |0 | | Vjd |0 |1 |0 |0 |1 |0 |0 |1 |0 | | Viz |0 |0 |1 |0 |0 |1 |0 |0 |1 |
Кто-нибудь может мне помочь, пожалуйста..
заранее спасибо.
Что я уже пробовал:
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX) DECLARE @ColumnName AS NVARCHAR(MAX) --Get distinct values of the PIVOT Column SELECT @ColumnName= ISNULL(@ColumnName + ',','') + QUOTENAME([Date]) FROM (SELECT DISTINCT [Date] FROM [Sample]) AS [Date] order by [Date] --print @ColumnName --Prepare the PIVOT query using the dynamic SET @DynamicPivotQuery = N'SELECT [Loc], ' + @ColumnName + ' FROM [Sample] PIVOT(SUM(Count(*)) FOR [Date] IN (' + @ColumnName + ')) AS PVTTable' --Execute the Dynamic Pivot Query EXEC sp_executesql @DynamicPivotQuery
Maciej Los
Для отображения данных в этом формате вам понадобятся инструменты отчетности. Вы не можете создать 2 заголовка строк.