如何更改表格

时间:2019-07-02 06:37:57

标签: sql sql-server tsql

如何使用左联接从另一个表更改具有现有列的表?

这是我的左联接代码。它可以作为选择。

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 :(得分:0)

您可以做的是添加一个新的空白/空列,然后通过混合使用更新表和联接将其设置为所需的结果。

我看起来可能是这样

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中完成的。 该代码写得很快,很可能不是最佳实践。

查看是否可以将其应用于示例。否则,再次询问:)

关于, 丹尼尔