Как добавить строку в SQL - PullRequest
0 голосов
/ 25 июня 2018

Здравствуйте, мой код выглядит следующим образом:

DECLARE @cnt INT = 0;
WHILE @cnt < 256
BEGIN
SELECT
ITEM1 ,
ITEM2 ,
ITEM3
FROM Table_Name
SET @cnt = @cnt + 3
End

Я хочу сделать, как показано ниже:

DECLARE @cnt INT = 0;
WHILE @cnt < 256
BEGIN
SELECT
ITEM@cnt+1 ,
ITEM@cnt+2 ,
ITEM@cnt+3
FROM Table_Name
SET @cnt = @cnt + 3
End

Так что это будет выполнено в одном цикле. Пожалуйста, помогите мне в этом.

Заранее спасибо

1 Ответ

0 голосов
/ 25 июня 2018

Если вы хотите составить свой запрос с использованием переменных, вы должны использовать динамический TSQL для построения вашего выбора, тогда вы можете выполнить его с помощью EXEC(...):

DECLARE @sql varchar(max)= ' SELECT '
DECLARE @cnt INT = 0;

WHILE @cnt < 256
    BEGIN
        set @cnt = @cnt + 1
        set @sql = @sql + ' ITEM' + cast(@cnt as varchar(max)) + ',' 
    End
set @sql = replace (@sql + ' from #table_name',', from',' from')

exec (@sql)
...