powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Почему не выполняется запрос
3 сообщений из 3, страница 1 из 1
Почему не выполняется запрос
    #39768952
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
declare @columnlist varchar(max) = stuff((select distinct ',[' + format(doc_date,'yyyyMM') + ']'   from [AOtest].[dbo].[nsk] where shop_code=N'00303НСК' and product_id=13321 order by ',[' + format(doc_date,'yyyyMM') + ']' for xml path('')),1,1,'')

declare @dispcolumnlist varchar(max) = stuff((select distinct ',[' + format(doc_date,'yyyyMM') + '] as docnum_'  + format(doc_date,'yyyyMM') from [AOtest].[dbo].[nsk] where shop_code=N'00303НСК' and product_id=13321 order by ',[' + format(doc_date,'yyyyMM') + '] as docnum_'  + format(doc_date,'yyyyMM') for xml path('')),1,1,'')
declare @dispcolumnlist2 varchar(max) = stuff((select distinct ',[' + format(doc_date,'yyyyMM') + '] as shipcount_'  + format(doc_date,'yyyyMM') from [AOtest].[dbo].[nsk] where shop_code=N'00303НСК' and product_id=13321 order by ',[' + format(doc_date,'yyyyMM') + '] as shipcount_'  + format(doc_date,'yyyyMM')  for xml path('')),1,1,'')

declare @sql varchar(max) = 'select shop_code,
product_id,' + @dispcolumnlist + ' into table1 from (select shop_code,
product_id,format(doc_date,''yyyyMM'') as monthdate,ship_count from [AOtest].[dbo].[nsk] where shop_code=N'00303НСК and product_id=13321)t pivot(sum(ship_count) for monthdate in (' + @columnlist + '))p'

exec(@sql)

select @sql = 'select shop_code,
product_id,' + @dispcolumnlist2 + ' into table2 from (select shop_code,
product_id,format(doc_date,''yyyyMM'') as monthdate,doc_num from [AOtest].[dbo].[nsk] where shop_code=N'0303НСК and product_id=13321)t pivot(count(doc_num) for monthdate in (' + @columnlist + '))p'

exec(@sql)




Выходят ошибки

Сообщение 102, уровень 15, состояние 1, строка 137
Неправильный синтаксис около конструкции "00303".
Сообщение 102, уровень 15, состояние 1, строка 143
Неправильный синтаксис около конструкции "yyyyMM".
Сообщение 137, уровень 15, состояние 2, строка 145
Необходимо объявить скалярную переменную "@sql".


Как правильно его составить?
...
Рейтинг: 0 / 0
Почему не выполняется запрос
    #39768957
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно, что неправильно поставлены одинарные кавычки.
Даже окраска текста запроса помогает это понять.
Может, имелось в виду это?
Код: sql
1.
2.
3.
declare @sql varchar(max) = 'select shop_code,
product_id,' + @dispcolumnlist + ' into table1 from (select shop_code,
product_id,format(doc_date,''yyyyMM'') as monthdate,ship_count from [AOtest].[dbo].[nsk] where shop_code=N''00303НСК'' and product_id=13321)t pivot(sum(ship_count) for monthdate in (' + @columnlist + '))p'
...
Рейтинг: 0 / 0
Почему не выполняется запрос
    #39769338
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде заработало, спс
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Почему не выполняется запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]