Как отобразить значения столбцов в 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 несовместимы в '|' оператор.

как решить это

С уважением

Байджу

0 ответов

Другие вопросы по тегам