如何使用来自不同表的列值将行插入表1

时间:2018-10-26 21:17:39

标签: sql sql-server

表1

contactid, LabId, date, createdby

表2:

contactid
12
13
14
15
16

表3    拉比德     4567

我想编写将表2和表3中的数据插入到表1中的sql查询。

输出应类似于:

表1

contactid, LabId,  date,     createdby
12         4567   10/26/2018    Vish
13         4567   10/26/2018    Vish
14         4567   10/26/2018    Vish
15         4567   10/26/2018    Vish
16         4567   10/26/2018    Vish

注意:contactid和Labid都不是主键。 我有只在Table1中不存在Contactid和Labid值的情况下才想插入table1的方案。谁能帮我这个忙。

我尝试了以下代码,但无法正常工作。

如果不存在(从table1中选择*,其中labid在(从table3中选择labid)和contactid在(从table2中选择contactid) 开始 插入表1(contactid,LabId,日期,创建人) SELECT contactid,(从表3中选择*),getdate(),'Vish' FROM table2

请帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

另一种方法,因为table3中只有一个值

insert into table1 (contactid, LabId, date, createdby)
SELECT contactid,4567,'10/26/2018','Vish' 
FROM table2

或者如果值更改

Insert into table1 (contactid, LabId, date, createdby)
SELECT contactid,(select * from table3),getdate(),'Vish' 
FROM table2