insert select语句,只有一列用于select

unhi4e5o  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(394)

我使用的是sql server management studio 18,下面的表包含以下列:

[ID]
[Name]
[InternalEmplID]

表B

[ID]
[InternalEmplID]
[Month]
[Year]

我想做一个 INSERT SELECT 在表B中,可能类似以下内容:

INSERT INTO TableB
(InternalEmplID, Month, Year)
VALUES
((SELECT InternalEmplIDFROM TableA WHERE Name = 'John Smith'), 'July', '2020')

基本上,我只是想 INSERT SELECT 从另一张table上抓取一列( InternalEmplID ),然后是其他列( Month 以及 Year ),我想添加不依赖于其他表中的列/数据的数据。这可能吗?我不太熟悉 INSERT SELECT 所以这对我来说是全新的。

l0oc07j2

l0oc07j21#

如果 select 返回多行。更灵活的选择是使用 INSERT ... SELECT 语法并在其他列中提供文字值:

INSERT INTO TableB (InternalEmplID, Month, Year)
SELECT InternalEmplIDFROM, 'July', '2020' TableA WHERE Name = 'John Smith'
h7appiyu

h7appiyu2#

你很接近。。。简单地做

INSERT INTO TableB (
    InternalEmplID, Month, Year
)
SELECT
    InternalEmplID, 'July', '2020'
FROM
    TableA
WHERE
    Name = 'John Smith'

相关问题