求助sql 这个语句的问题

select(casewhenbz=(selectbzfromcpwherecpbhin('a101','a102','a103','a104'))then'桶'when... select
(case when bz=(select bz from cp where cpbh in('a101','a102','a103','a104'))
then'桶'
when bz=(select bz from cp where cpbh not in('a101','a102','a103','a104'))
then'袋' else null end)
from cp
报错:

消息 512,级别 16,状态 1,第 2 行
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
展开
 我来答
百度网友2dca20d
2015-02-05 · TA获得超过4036个赞
知道大有可为答主
回答量:2638
采纳率:77%
帮助的人:1040万
展开全部
这样改:
select 
(case when bz in(select bz from cp where cpbh in('a101','a102','a103','a104'))
then'桶'
when bz in(select bz from cp where cpbh not in('a101','a102','a103','a104'))
then'袋' else null end)
from cp

试一下

射手幽灵伊
2015-02-05 · TA获得超过2716个赞
知道大有可为答主
回答量:4955
采纳率:81%
帮助的人:1981万
展开全部
select
(case when bz=(select bz from cp where cpbh in('a101','a102','a103','a104'))
这个地方有问题,返回值可能不会是一个值
then'桶'
when bz=(select bz from cp where cpbh not in('a101','a102','a103','a104'))
这个地方有问题,返回值可能不会是一个值
then'袋' else null end)
from cp

select
(case when bz=(select bz from cp b where cpbh in('a101','a102','a103','a104') and b.id = a.id )
then'桶'
when bz=(select bz from cp b where cpbh not in('a101','a102','a103','a104') and b.id = a.id )
then'袋' else null end)
from cp a
这样试试 id指关键字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiang19911113
2015-02-05 · TA获得超过205个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:170万
展开全部
select cpbh,

(case when (cpbh in ('a101','a102','a103','a104')) then'桶'
when (cpbh not in ('a101','a102','a103','a104')) then'袋'
else null
end) as 'alias'
from 表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1ce687e5c
2015-02-05 · TA获得超过1.7万个赞
知道大有可为答主
回答量:2093
采纳率:0%
帮助的人:1731万
展开全部
我估计是得出来的bz的值有重复的,他不知道是写成“桶”还是“袋”还是null。。

好久不搞数据库了,忘了都,你看看吧。可以把条件改改,测测。毕竟就一个select语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式