SQL查询时错误:子查询返回的值多于一个

where(len(w011)='15'andSubstring(w011,15,1)%2<>w002%2orlen(w011)='18'andSubstring(w01... where
(len(w011)='15' and Substring(w011,15,1)%2<>w002%2 or
len(w011)='18' and Substring(w011,17,1)%2<>w002%2)
在使用以上语句查询时出错了

服务器: 消息 512,级别 16,状态 1,行 15
子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
请问各位大侠应该如果改?
where (((len(身份证号)=15) and (Substring(身份证号,15,1) in (1,3,5,7,9)) and 性别<>'男')
or ((len(身份证号)=15) and (Substring(身份证号,15,1) in (2,4,6,8,0)) and 性别<>'女'))

or (((len(身份证号)=18) and (Substring(身份证号,17,1) in (1,3,5,7,9)) and 性别<>'男')

or ((len(身份证号)=18) and (Substring(身份证号,17,1) in (2,4,6,8,0)) and 性别<>'女'))
在使用这种查询语句的时候也出了同样的错,请教各位老师应如何改?
展开
 我来答
lanniao007
2012-03-30 · TA获得超过1012个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:449万
展开全部
与Where语句没关系。应该是前面某一子查询Select 的列。
当主表的该列得出一条的时候,子查询条件下却得到多条。就会100%报这个错误。
你将Sql全部贴出。或者Select部分的列取得
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
x403879785
2012-03-30 · TA获得超过3839个赞
知道大有可为答主
回答量:1299
采纳率:100%
帮助的人:1173万
展开全部
很明显你WHERE条件里并没有子(嵌套)查询啊?你这括号括的…
你试试:
where (len(w011)='15' and Substring(w011,15,1)%2<>w002%2) or (len(w011)='18' and Substring(w011,17,1)%2<>w002%2)
追问
还是一样的提示那错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
了他他
2012-03-30 · TA获得超过242个赞
知道答主
回答量:211
采纳率:0%
帮助的人:108万
展开全部
天,都不知道你前面是什么,你要做什么,谁能改啊!你前面是个update的语句吧,后面返回的结果不止一个是更新不了的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
臭懒我是
2012-04-10
知道答主
回答量:22
采纳率:0%
帮助的人:5万
展开全部
问题不清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式