Member 13230427 Ответов: 3

Как решить эту проблему в SQL server


У меня есть две таблицы в этой первой таблице есть 5 столбцов, а во второй таблице есть 10 столбцов, тогда мой вопрос заключается в том, что я хочу вставить значения в первую таблицу, которая состоит только из двух столбцов, которые я должен вставить, а оставшиеся три столбца должны быть взяты из второй таблицы, что первый идентификатор таблицы = Второй идентификатор таблицы сопоставим в этой первой таблице и второй таблице, что три имени столбцов одинаковы, я не знаю, как решить эту проблему

Что я уже пробовал:

я не знаю, как решить эту проблему

3 Ответов

Рейтинг:
1

OriginalGriff

Во - первых, это плохая идея, потому что это означает, что у вас есть дублированные данные-и в зависимости от того, что это за данные, это может означать значительную потерю места в вашей БД. Если у вас уже есть связь внешнего ключа между двумя таблицами, то гораздо проще (и безопаснее, так как данные не могут выйти из синхронизации, если они не дублируются) использовать соединение при попытке получить информацию:

SELECT a.Col1, a.Col2, b.Col1, b.Col2, b.Col3 FROM MyFirstTable a
JOIN MySecondTable b ON a.Id = b.OtherTableId

Однако если вы должны сделать вставку опасным и плохим дизайном, вы можете использовать SQL INSERT INTO SELECT оператор[^].


Рейтинг:
1

Richard MacCutchan

sql join - поиск в Google[^]


Рейтинг:
1

RickZeeland

Может быть, что-то вроде этого:

INSERT INTO table1 ([ID],[Name],[Address])  
	SELECT [ID],[Name],[Address] FROM table2