sql 执行错误 当没有用EXISTS 引入子查询时 在选择列表中只能指定一个表达式

 我来答
惠企百科
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

因为set Fnote= 这后面是只能给一个值得。现在估计有复数个,所以有问题。解决方法如下:

1、创建一个临时表,IFOBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1; CREATE TABLE #tmp1(Col1 varchar(50),Col2 varchar(200));。

2、往临时表中插入几行测试数据,用于exists使用insert into #tmp1(Col1, Col2) values('Code1', '1');insert into #tmp1(Col1, Col2) values('Code10', '2');insert into #tmp1(Col1, Col2) values('Code100', '3');。

3、查询临时表中的测试数据select * from #tmp1;。

4、如果在exists中查询的结果是NULL,最终exists返回的仍然是true。例如,下面的语句返回的就是整个表的结果select * from #tmp1 where exists(select null);。

5、使用子查询结合exists使用,当exists返回true的时候,就返回指定结果select *from #tmp1where exists(select 1 from #tmp1 where Col2 = 2)and Col1 = 'Code1'。

6、使用子查询结合exists使用,当exists返回false的时候,就不会返回指定的结果。例如,将上面SQL子查询的Col2从等于2,改成等于20select *from #tmp1where exists(select 1 from #tmp1 where Col2 = 20)and Col1 = 'Code1'。

7、在存储过程中,经常会使用exists判断条件是否成立,例如,判断临时表中是否存在记录if exists(select 1 from #tmp1)print '存在数据'elseprint '不存在数据'。就完成了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式