当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式.
答案:2 悬赏:30 手机版
解决时间 2021-04-23 21:52
- 提问者网友:刺鸟
- 2021-04-23 07:06
update bd_produce set sfpchs='N' where sfpchs in (select bd_invbasdoc.invcode,bd_produce.sfpchs from bd_produce,bd_invbasdoc where bd_invbasdoc.pk_invbasdoc=bd_produce.pk_invbasdoc and bd_invbasdoc.invcode like '204%' and sfpchs='y' and bd_produce.pk_corp='1014' )
最佳答案
- 五星知识达人网友:有你哪都是故乡
- 2021-04-23 08:01
试试这个
update bd_produce a
set sfpchs = 'N'
where exists (select 1
from bd_invbasdoc b
where b.pk_invbasdoc = a.pk_invbasdoc
and b.invcode like '204%')
and sfpchs = 'y'
and pk_corp = '1014'
update bd_produce a
set sfpchs = 'N'
where exists (select 1
from bd_invbasdoc b
where b.pk_invbasdoc = a.pk_invbasdoc
and b.invcode like '204%')
and sfpchs = 'y'
and pk_corp = '1014'
全部回答
- 1楼网友:几近狂妄
- 2021-04-23 08:28
exists 就是一个判断是否成立的条件 比如: select distinct pub_name from publishers where exists (select * from titles where pub_id = publishers.pub_id) 这个就是判断一条记录的pub_id在另外一个表里面是否存在,存在返回真 也就是显示这一条记录,不存在返回假,过滤这一条记录 他和in的用法差不多,一般情况下可以通用 select distinct pub_name from publishers where pub_id in (select pub_id from titles) 这两个语句查询结果相同 当然了,如果你要知道的更详细,建议查查帮助
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯