,子查询返回的值不止一个 主线可以当子线用吗查询跟随在 =、!=、<、<=、>、>= 之后。 这段SQL代码该怎么修改。求教。

子查询返回的值多于一个,当子查询跟随在=、!=、 &, &=,& ,& =之后,或子查询用作表达式时,这种情况是不允许的。
[问题点数:20分,无满意结帖,结帖人wang_quan_li]
子查询返回的值多于一个,当子查询跟随在=、!=、 &, &=,& ,& =之后,或子查询用作表达式时,这种情况是不允许的。
[问题点数:20分,无满意结帖,结帖人wang_quan_li]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2007年12月 总版技术专家分月排行榜第二
2011年7月 荣获微软MVP称号2009年7月 荣获微软MVP称号2010年7月 荣获微软MVP称号2008年7月 荣获微软MVP称号
本帖子已过去太久远了,不再提供回复功能。SQL UPDATE语句怎么写?_百度知道
SQL UPDATE语句怎么写?
提问者采纳
B from table1 as a: 将A表中的某个字段的值更新为B表中某个字段的值: Update ddtj Set cgry = (Select xdry From cght Where cght,条件是A表中的某个字段=B表中某个字段 补充。
语句已终止: update ddtj set cgry=b.hthm =、&gt.X 补充;。当子查询跟随在 =.C=b.col from A where A5 将A表中的某个字段的是更新为B表中某个字段的值,级别 16.tid 补充,状态 1;ty6级update B set Ba=(select Aa from A where Ab=(select Bb from B))&#47,或子查询用作表达式时,第 1 行
子查询返回的值不止一个、: update table2 set cname=a.x=b;=;= 之后、&lt!=、&lt,条件是A表中的某个字段=B表中某个字段相等 补充,cght b where a.hth=b。 满意答案猪哥□37级update B set col1=A.hth)
消息512,table2 as b where a.hthm 其他回答(3)loveDream&#47.xdry from ddtj a,这种情况是不允许的、&gt
其他类似问题
1人觉得有用
update的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁揭示子查询返回的值不止一个。当子查询跟随在 =、=、&&=、&&= 之后,或子查询用作表达式时,这种情况是不允许的_Sql Server大全_优良自学吧 |
当前位置: >
> 揭示子查询返回的值不止一个。当子查询跟随在 =、=、&&=、&&= 之后,或子查询用作表达式时,这种情况是不允许的优良自学吧提供揭示子查询返回的值不止一个。当子查询跟随在 =、=、&&=、&&= 之后,或子查询用作表达式时,这种情况是不允许的,提示子查询返回的值不止一个。当子查询跟随在 =、!=、&、&=、&、&= 之后,或子查询用作表达式时,这种情况是不允许的SELECT&医疗付款方式, 姓名, 性别, 年龄, 生日, 工作单位及地址, 户口地址, case&n提示子查询返回的值不止一个。当子查询跟随在 =、!=、&、&=、&、&= 之后,或子查询用作表达式时,这种情况是不允许的SELECT&医疗付款方式,
工作单位及地址,
case&医疗付款方式&when&'医保'&then&(select&公民身份证&from&VIEW_EMR_PATIENT_all)&when&'公费'&then&&(select&公民身份证&from&VIEW_EMR_PATIENT_all&)&else&''&end&as&公民身份证,
入院床位医生,
from&VIEW_EMR_PATIENT_all
查询这个语句后,提示:
消息&512,级别&16,状态&1,第&1&行
子查询返回的值不止一个。当子查询跟随在&=、!=、&、&=、&、&=&之后,或子查询用作表达式时,这种情况是不允许的。
各位大侠,该如何解决呢?------解决方案--------------------试试:SELECT&&医疗付款方式&,
&&&&&&&&姓名&,
&&&&&&&&性别&,
&&&&&&&&年龄&,
&&&&&&&&生日&,
&&&&&&&&工作单位及地址&,
&&&&&&&&户口地址&,
&&&&&&&&CASE&医疗付款方式
&&&&&&&&&&WHEN&'医保'&THEN&(&SELECT&TOP&1&&公民身份证
&&&&&&&&&&&&&&&&&&&&&&&&&&&FROM&&&&&VIEW_EMR_PATIENT_all&
&&&&&&&&&&&&&&&&&&&&&&&&&)
&&&&&&&&&&WHEN&'公费'&THEN&(&SELECT&TOP&1&&公民身份证
&&&&&&&&&&&&&&&&&&&&&&&&&&&FROM&&&&&VIEW_EMR_PATIENT_all
&&&&&&&&&&&&&&&&&&&&&&&&&)
&&&&&&&&&&ELSE&''
&&&&&&&&END&AS&公民身份证&,
&&&&&&&&床号&,
&&&&&&&&科别&,
&&&&&&&&病区&,
&&&&&&&&入院床位医生&,
&&&&&&&&出院时间&,
&&&&&&&&出院日期&,
&&&&&&&&入院时间&,
&&&&&&&&入院日期
FROM&&&&VIEW_EMR_PATIENT_all------解决方案--------------------你这个视图有没有哪个是主键?------解决方案--------------------主要的错误在这个:
case&医疗付款方式&when&'医保'&then&(select&公民身份证&from&VIEW_EMR_PATIENT_all)&when&'公费'&then&&(select&公民身份证&from&VIEW_EMR_PATIENT_all&)&else&''&end&as&公民身份证,
这个子查询select&公民身份证&from&VIEW_EMR_PATIENT_all会返回多条记录,所以才会报错。
你需要限制这个查询至返回1条。
------解决方案--------------------比如可以这样:
SELECT&&医疗付款方式&,
&&&&&&&&姓名&,
&&&&&&&&性别&,
&&&&&&&&年龄&,
&&&&&&&&生日&,
&&&&&&&&工作单位及地址&,
&&&&&&&&户口地址&,
&&&&&&&&CASE&医疗付款方式
&&&&&&&&&&WHEN&'医保'&THEN&(&SELECT&公民身份证
&&&&&&&&&&&&&&&&&&&&&&&&&&&FROM&&&&&VIEW_EMR_PATIENT_all&b
&&&&&&&&&&&&&&&&&&&&&&&&&&&where&a.关联字段&=&b.关联字段
&&&&&&&&&&&&&&&&&&&&&&&&&)
&&&&&&&&&&WHEN&'公费'&THEN&(&SELECT&公民身份证
&&&&&&&&&&&&&&&&&&&&&&&&&&&FROM&&&&&VIEW_EMR_PATIENT_all&b
&&&&&&&&&&&&&&&&&&&&&&&&&&&where&a.关联字段&=&b.关联字段
&&&&&&&&&&&&&&&&&&&&&&&&&)
&&&&&&&&&&ELSE&''
&&&&&&&&END&AS&公民身份证&,
&&&&&&&&床号&,
&&&&&&&&科别&,
&&&&&&&&病区&,
&&&&&&&&入院床位医生&,
&&&&&&&&出院时间&,
&&&&&&&&出院日期&,
&&&&&&&&入院时间&,
&&&&&&&&入院日期
FROM&&&&VIEW_EMR_PATIENT_all&a(本文来自互联网,不代表搜站(/)的观点和立场)编辑推荐最近更新sql server 中 子查询返回的值多于一个。当子查询跟随在 =、!=、&、&=、&、&= 之后,或子查询用作表达式时,这种情况是不允许的。,是什么意思
[问题点数:10分,结帖人cow8063]
sql server 中 子查询返回的值多于一个。当子查询跟随在 =、!=、&、&=、&、&= 之后,或子查询用作表达式时,这种情况是不允许的。,是什么意思
[问题点数:10分,结帖人cow8063]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。sql 问题子查询返回的值不止一个。_百度知道
sql 问题子查询返回的值不止一个。
&gt子查询返回的值不止一个。sql语句是这样的、&lt,这种情况是不允许的,bb表中有相同的名字.name=;、、&gt、&=!=.idcard from bb where
exists (select * from aa
where aa.name ))怎么改呢?就是想把bb表中的idcard放进aa表中,或子查询用作表达式时。当子查询跟随在 =。但是前提是aa表;= 之后:update aa set idcard = (select bb
提问者采纳
肯定会报错,
aa表 name = '1'222&#39。【xxxxx子查询返回了多条数据】(报错信息大概就这个样子)试想,当子查询只能查出一条数据时,除非你能保证子查询能查出1条数据?所以这种语句在逻辑上是存在缺陷的,是吧aa中name='
bb表中存在2条数据;
idcard = &#39,望采纳:
一条 name = &#39这种语句在一种情况下可以执行;1'的这条数据 update 成 111 还是222呢;
idcard =&#39。如果查出多条。祝进步;
另一条 name = '1'那数据库如何判断;111'1&#39
额。那这样就是没有办法实现了?
不是实现不实现的问题。只要逻辑正确,实现方式肯定是有的现在一张aa表中的数据 对应 n个 bb表中的你取那个值呢?第一个?还是怎么的?如果是第一个那么update aa set idcard = (select bb.idcard from bb where
exists (select to(1)idcard from aa
where aa.name=bb.name )top是sqlServer语法,oracle是rownum数据库不同语法不同
可是说aa表里的是不唯一的。name有重复idcard nullbb表里我保证了唯一性。name和idcard全是唯一的这样逻辑应该是对的!可是按上面的update还是不对。我之后又试了把aa表和bb表完全对应上name和idcard全是唯一的可是还是不对。错误提示是子查询返回的值不止一个。当子查询跟随在 =、!=、&、&=、&、&= 之后,或子查询用作表达式时,这种情况是不允许的。
update aa set idcard = (select bb.idcard from bb where
aa.name=bb.name )仔细想下, 你的exists怎么查都是多条数据
那有其他办法实现我要的需求吗?同时更新把bb表中的idcard放进aa表中。但是前提是aa表,bb表中有相同的名字
提问者评价
谢谢。我还是想用其他方法实现
其他类似问题
子查询的相关知识
按默认排序
其他2条回答
这样可以么.name=bb.name ) and
rownum= 1)update aa set idcard = (select bb.idcard from bb where
exists (select * from aa
update语句
set只能赋一个值
子查询是查询出的不只一个值
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 jquery lt gt 的文章

 

随机推荐