有字段 aa bb cc dd
还有个表b
有字段 ee ff gg
我找过相关语句是
insert into a (aa,bb,cc) select ee,ff,gg from b where ....
但是这个where 条件只能限制从表b查询到的内容.,
有没有什么方法可以使表b查询到的ee ff gg 插入到 表a dd字段为某值的时候呢?
求赐教!!
是不是一条语句写不出来??
5 个解决方案
#1
楼主说的是要更新到 dd = 100 的这条记录中吗?
#2
没错,就是这个意思
#3
两张表,有关联条件吗 ?
#4
-- 没有关联条件,可以这样写, 并且要保证 from b 查出来的记录,只有一条,超过 一条,就会报错;
update a
set (aa,bb,cc) = (select ee,ff,gg from b where ....)
where dd = 100
-- 有关联条件
update a
set (aa,bb,cc) = (select ee,ff,gg from b where a.id=b.id)
where exists(select ee,ff,gg from b where a.id=b.id)
update a
set (aa,bb,cc) = (select ee,ff,gg from b where ....)
where dd = 100
-- 有关联条件
update a
set (aa,bb,cc) = (select ee,ff,gg from b where a.id=b.id)
where exists(select ee,ff,gg from b where a.id=b.id)
#5
太感谢了!
就是这么个意思,谢谢!!!
#1
楼主说的是要更新到 dd = 100 的这条记录中吗?
#2
没错,就是这个意思
#3
两张表,有关联条件吗 ?
#4
-- 没有关联条件,可以这样写, 并且要保证 from b 查出来的记录,只有一条,超过 一条,就会报错;
update a
set (aa,bb,cc) = (select ee,ff,gg from b where ....)
where dd = 100
-- 有关联条件
update a
set (aa,bb,cc) = (select ee,ff,gg from b where a.id=b.id)
where exists(select ee,ff,gg from b where a.id=b.id)
update a
set (aa,bb,cc) = (select ee,ff,gg from b where ....)
where dd = 100
-- 有关联条件
update a
set (aa,bb,cc) = (select ee,ff,gg from b where a.id=b.id)
where exists(select ee,ff,gg from b where a.id=b.id)
#5
太感谢了!
就是这么个意思,谢谢!!!