Как отобразить значения столбцов в gridview, используя сводную
Я хочу отображать даты определенного месяца в заголовке столбца gridview и
соответствующее значение должно отображаться под
ВЫБРАТЬ
отчетливый
имя, имя,
min (convert (char(5), time, 108)) over (разбиение по cardno, CONVERT(varchar(20), time,
102)) + ' | '+ max (преобразовать (char(5), время, 108)) over (разделить на cardno,
КОНВЕРТ (varchar(20), время 102)) [выход / выход]
ОТ событий
ниже приведен результат вышеприведенного запроса
имя кардно выход / в аут 100 байю 09:30 | 18:30 101 киран 09:55 | 18:45
я хочу вывод, как это
имя_карты 2013-07-01 2013-07-12................................... 2013-07 -31
100 байю 09: 30 | 18: 30 ноль
101 Киран 09:35|18:45 ноль
означает, что весь день месяца должен отображаться в заголовке gridview. Если значения нет, он должен быть нулевым
я пробовал этот пример, но показывает ошибку
объявить @dte как datetime ='2013-07-01'
объявить @StDt как Datetime = DATEADD(dd,-(DAY(GETDATE())-1),@dte)
объявить @EnDt как datetime = DATEADD(с,-1,DATEADD(мм, DATEDIFF(м,0,@dte)+1,0))
Объявите @Cnt как int = datepart(dd,@EnDt)
Объявите @inc как int = 0
Создать таблицу #temp (Month_date datetime)
в то время как @inc <@cnt
начать
вставить в #temp
выберите DATEADD (dd, @inc, DATEADD (dd, - (DAY (@dte) -1), @ dte))
set @inc = @inc + 1 end ОБЪЯВИТЬ @cols AS NVARCHAR(МАКС.), @query AS NVARCHAR(МАКС.)
выберите @cols = STUFF((ВЫБЕРИТЕ отличное ',' + QUOTENAME([дата]) из событий FOR XML PATH('', TYPE).value ('.', 'NVARCHAR (MAX)'), 1,1, '')
SET @ Query = 'ВЫБЕРИТЕ отличное имя карты, имя,'+ @cols+'из (выберите t.Month_date,e.cardno,e.date из #temp t правого события внешнего соединения для t.Month_date=e.date) x pivot ( min(convert(char(5), time, 108)) over (разбиение по cardno, CONVERT(varchar(20), time, 102)) +' | '+max(convert(char(5), time, 108)) over (разбиение по cardno, CONVERT(varchar(20), время, 102)
for date in (' + @cols + ')
) p заказ по дате_ месяца
Exec(@query)
удалить таблицу #temp
это сообщение об ошибке
Сообщение 207, уровень 16, состояние 1, строка 19
Неверное имя столбца "дата".
Сообщение 402, Уровень 16, Состояние 1, Строка 36
Типы данных nvarchar(max) и varchar несовместимы в '|' оператор.
как решить это
С уважением
Байджу