Как переделать стол - PullRequest
0 голосов
/ 02 июля 2019

Как мне изменить таблицу с существующим столбцом из другой таблицы, используя левое соединение?

Это мой код для левого соединения. Он работает как выбор.

USE [Metamodel]
GO 

      SELECT a.*,
      b.[TABLE_SIZE]   
      FROM guest.MMT_T a
      left join [guest].[SYSTEM_INFO]  b on a.TABLE_NAME = b.TABLE_NAME

GO

1 Ответ

0 голосов
/ 02 июля 2019

Что вы можете сделать, это добавить новый пустой / нулевой столбец, а затем установить его на желаемый результат, смешав таблицу обновлений и объединение.

Я мог бы выглядеть примерно так

CREATE TABLE firstTable 
(
firstColumn NVARCHAR(2)
, correspondingText NVARCHAR(20)
)

CREATE TABLE secondTable 
(
secondColumn NVARCHAR(2)
, correspondingText NVARCHAR(20)
)

-- Insert some values to join with later
INSERT INTO firstTable (firstColumn, correspondingText)
VALUES
('1', 'firstText')
-- Insert some values to join with later    
INSERT INTO secondTable (secondColumn,correspondingText)
VALUES
('1', 'secondText')

-- Add a new column to the first table 
ALTER TABLE firstTable
ADD columnFromOtherTable NVARCHAR(20) 

-- I update the first table, with the added column, by setting t1.firstColumn(first 
-- table and first column) = t2(Second table and second column) equal eachother
second tables 
UPDATE t1
SET t1.columnFromOtherTable = t2.correspondingText
FROM firstTable t1
LEFT JOIN secondTable t2 ON t1.firstColumn = t2.secondColumn

SELECT firstColumn, correspondingText, columnFromOtherTable FROM firstTable

Это было сделано в Microsoft SQL Server Management Studio 2017. Код написан быстро и, скорее всего, не лучшая практика.

Посмотрите, можете ли вы применить его к своему примеру.В противном случае, спросите еще раз :)

С уважением, Даниэль

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