Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 根据条件从一个表中插入另一个表中的记录_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 根据条件从一个表中插入另一个表中的记录

Sql 根据条件从一个表中插入另一个表中的记录,sql,sql-server,tsql,Sql,Sql Server,Tsql,应将记录从表A插入表B中,条件是表A中RoleId=1的所有Id都应使用SQL查询在表B中可用 表A Id RoleId 1 1 2 1 3 1 4 2 5 2 表B Id 1 产出:表B Id 1 2 3 我尝试了下面的查询,但无法写入条件 insert into Table B (Id) select Id from Table A where roleId=1 以下是您需要做的: insert into

应将记录从表A插入表B中,条件是表A中RoleId=1的所有Id都应使用SQL查询在表B中可用

表A

Id     RoleId
1        1
2        1
3        1
4        2
5        2
表B

Id
1
产出:表B

Id
1
2
3
我尝试了下面的查询,但无法写入条件

insert into Table B (Id) select Id from Table A where roleId=1 

以下是您需要做的:

insert into tableB (Id)
select Id from TableA
where RoleId = 1 
and not exists (select 1 from TableB where TableA.id = TableB.ID)

不存在您编写的roleid的条件,但roleid是TableA@eshirvana@mohdmazharkhan事实上,你不需要,请看我的更新答案。我遇到了这个错误:关键字“select”附近的语法不正确。Msg 102,第15级,状态1,第4行“')附近的语法不正确@Eshirvanano不存在条件给出错误@埃希瓦纳坎,你投我的反对票,我已经更新了我试过的@DaleKinsert进入表B(Id)从roleId=1的表A中选择Id。@Dale KI对写入条件感到困惑@Dalek你能查一下最新的答案吗dale k先生@答:这个答案是错误的@达莱克