Попытка вставить поле из одной таблицы в другую - PullRequest
0 голосов
/ 15 марта 2019

Итак, моя основная таблица - это TableA (Поля: CustomerID, A2, A3, A4, A5), которая содержит все поля, кроме одного ... Мне нужно добавить поле TransactionID TableB в TableA, чтобы оно выглядело следующим образом: TransactionID, CustomerID, A2, A3, A4, A5.

Таблица A и Таблица B могут связываться друг с другом, когда CustomerID.

SELECT 
b.TransactionID, a.CustomerID, a.2, a.3, a.4, a.5
FROM TableB b
JOIN TableA a
    ON a.CustomerID = b.CustomerID

Этот запрос получает все, что мне нужно. Однако у меня возникают проблемы, когда дело доходит до вставки поля TransactionID в TableA. Я знаю, что упускаю что-то очевидное.

Спасибо.

Дополнительная информация: Проблема в том, что TableB не содержит поле TransactionID. Каждый CustomerID содержит как минимум 1 TransactionID, но моя цель - добавить TransactionID в TableB. Общим знаменателем между таблицей A и таблицей B является идентификатор клиента.

Ответы [ 3 ]

0 голосов
/ 15 марта 2019

не уверен насчет типа данных транзакции, но это должно быть что-то вроде:

ALTER TABLE TableA
ADD TransactionID varchar(30);


UPDATE  a
SET a.TransactionID = b.TransactionID
FROM TableA a
JOIN TableB b
    ON a.CustomerID = b.CustomerID
0 голосов
/ 15 марта 2019

Похоже, вам нужно сначала добавить столбец к TableA. Это синтаксис

ALTER TABLE table_name
ADD column_name datatype;

И затем вы можете выполнить этот запрос, чтобы импортировать данные из таблицы B в ваш новый столбец в таблице A

UPDATE a 
SET a.TransactionID  = b.TransactionID
FROM TableA a
INNER JOIN TableB b ON a.CustomerID = b.CustomerID
0 голосов
/ 15 марта 2019

Вам необходимо добавить поле в таблицу A. Вот документация о том, как это сделать в SQL Server .После этого вы используете оператор Update, аналогичный Select в вашем первоначальном сообщении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...