Sql Server - Есть какой-нибудь особый способ вставить так, чтобы в одном столбце значение было одинаковым, а в другом изменялось? - PullRequest
1 голос
/ 02 декабря 2011

Мне нужно вставить в простую таблицу с двумя столбцами.

Первый столбец должен содержать одно и то же значение от строки к строке, а второй должен содержать различные значения из исходной таблицы.Так что все должно выглядеть так:

enter image description here

Вопрос в том, есть ли способ сделать вставку на основе набора в этом случае?То, как я это делаю сейчас, - это просто перебирать строки исходной таблицы.Или также можно использовать курсоры, только я не уверен, что лучше.

Но все же это итерация.

Есть ли какие-нибудь способы обойти это?Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 02 декабря 2011
insert into dest_tab(col1, col2)
select 1, col2
from src_table
where ....
2 голосов
/ 02 декабря 2011

Если вы заранее знаете свое статическое значение, вы можете сделать что-то вроде этого:

INSERT INTO targetTable(Col1, Col2)
SELECT 1, yourColumn
FROM sourceTable
WHERE <condition>

Это предполагает, что 1 - это ваше статическое значение.Его можно заменить реальным значением или переменной, в зависимости от особенностей вашего запроса.

...