#sql #sql-server #sql-server-2008 #ssms #ssms-2017
#sql #sql-сервер #sql-server-2008 #ssms #ssms-2017
Вопрос:
У меня есть 2 таблицы, я хочу задать задание для заполнения таблицы 1 некоторыми данными из таблицы 2. но в таблице 1 есть несколько других столбцов, которых нет в таблице 2. эти значения имеют постоянное значение. например: таблица1: имя, дата, номер (случайный) таблица 2: имя, дата
я хочу автоматически поместить имя и дату из таблицы 2 в таблицу 1. но я не знаю, как заполнить третью таблицу.
Спасибо
Комментарии:
1. На чем будет основано случайное число? и можете ли вы привести пример.
2. Это не важно. некоторые из них равны 0 или 1, а другие, например, от 1 до 1000. мой вопрос в том, как заполнить таблицу некоторым постоянным значением, а другие — из существующей таблицы?
Ответ №1:
мой вопрос заключается в том, как заполнить таблицу некоторым постоянным значением, а другие — из существующей таблицы?
Вот так:
insert into table1(name, date, num)
select name, date, 1 from table2
Это присваивает постоянное значение 1
столбцу num
в каждой строке, скопированной из источника.
Если вам нужно что-то еще, скажем, автоматически увеличивающийся счетчик:
insert into table1(name, date, num)
select name, date, row_number() over(order by (select null)) from table2
Если бы у вас был a default
в целевом столбце, на который вы хотели бы положиться, вы бы просто проигнорировали столбец в инструкции:
insert into table1(name, date)
select name, date from table2
Комментарии:
1. Спасибо. но таблица 2 не имеет постоянного значения. Я хочу заполнить свой столбец table1 некоторыми данными из таблицы 2 . остальные столбцы таблицы1 являются постоянными, и я должен заполнить их сам! в таблице 2 их нет
2. Я должен заполнить некоторые столбцы значениями таблицы 2, а остальные — постоянным значением (например, значением от 1 до 1000).
3. @AfsanRezaei: это то, что делает первый запрос. Я расширил свой ответ другим примером.
4. @AfsanRezaei Ты понимаешь значение слова «постоянный»? Он не изменяется, не мутирует и не изменяется (например, от 1 до 1000). Сейчас самое время привести простой пример нескольких строк, которые вы хотите вставить, и каким должно быть содержимое этих вставленных строк после вставки.