MS SQL插入到选择联接中
我有两张桌子MS SQL插入到选择联接中,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有两张桌子 TABLE1 TABLE2 COLUMN1 COLUMN2 COLUMN1 COLUMN2 John 56 56 A Bob 45 45 B Eva 68 68 C 我需要将列添加到一个表中,事实上我将使用函数joi
TABLE1 TABLE2
COLUMN1 COLUMN2 COLUMN1 COLUMN2
John 56 56 A
Bob 45 45 B
Eva 68 68 C
我需要将列添加到一个表中,事实上我将使用函数join从另一个表中插入新的列值
TABLE1
COLUMN1 COLUMN2 COLUMN3
John 56 A
Bob 45 B
Eva 68 C
ALTER TABLE [dbo].[Table1]
ADD Column3 nvarchar(255);
INSERT INTO [dbo].[Table1] (column3)
SELECT table2.column2
from [dbo].[Table2] left join [dbo].[table1]
on table1.column2 = table2.column1
但是我越来越
TABLE1
COLUMN1 COLUMN2 COLUMN3
John 56 A
Bob 45 B
Eva 68 C
NULL NULL A
NULL NULL B
NULL NULL C
您能帮我修复我的插件吗?您必须使用内部联接:
INNER JOIN Table1 ON Table1.Column2 = Table1.Column1
必须使用内部联接:
INNER JOIN Table1 ON Table1.Column2 = Table1.Column1
尝试写入
内部联接
而不是左侧联接尝试写入内部联接
而不是插入中的左侧联接将联接从左侧更改为内部,并在表1.column1而不是表1.column2上联接
INSERT INTO [dbo].[Table1] (column3)
SELECT table2.column2
from [dbo].[Table2]
INNER JOIN [dbo].[table1]
on table1.column1 = table2.column1
在INSERT INTO中,将联接从左改为内,并在table1.column1上联接,而不是在table1.column2上联接
INSERT INTO [dbo].[Table1] (column3)
SELECT table2.column2
from [dbo].[Table2]
INNER JOIN [dbo].[table1]
on table1.column1 = table2.column1
确实,您需要更新表设置第3列
UPDATE t1
SET column3 = t2.column2
FROM [dbo].[Table1] t1
JOIN [dbo].[table2] t2 ON t1.column2 = t2.column1
确实,您需要更新表设置第3列
UPDATE t1
SET column3 = t2.column2
FROM [dbo].[Table1] t1
JOIN [dbo].[table2] t2 ON t1.column2 = t2.column1
您要做的是更新表。为简单起见:第一个表中的列是numedcolumn1
等,第二个表中的列是col1
等。然后您只需要简单的update
语句
UPDATE Table1 SET column3 = col2
WHERE column2 = col1
您要做的是更新表。为简单起见:第一个表中的列是numedcolumn1
等,第二个表中的列是col1
等。然后您只需要简单的update
语句
UPDATE Table1 SET column3 = col2
WHERE column2 = col1