语句:错误ORA-01427:single-row subquery returns more ..

您好,运行以下语句出现提示:错误ORA-01427:single-row subquery returns more than one row

  麻烦检查并给予指正问题出在哪儿?  

    select (case p.buytype

          when '002'  then   (select a.cweight as cw from cargoods a)

          when  '001' then    (select r.buyamount as buy from RAILSAMOUNT r)        end)  

          from puynote p   where p.planno='UU20013'

用户t3615550 发布于 2020-4-7 09:42
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
3
snrtuemcLv8专家互助
发布于2020-4-7 09:48

when '002'  then   (select a.cweight as cw from cargoods a)

          when  '001' then    (select r.buyamount as buy from RAILSAMOUNT r) 

这边返回了多行结果,需要在这里面加上where条件,返回一行结果

最佳回答
0
zsh331Lv8专家互助
发布于2020-4-7 10:06
--参考语法 
SELECT (CASE p.buytype = '002' THEN a.cweight
            WHEN p.buytype = '001' THEN r.buyamount
            ELSE ''
        END) AS RW
FROM puynote p
LEFT JOIN cargoods a ON p.planno =a.planno
LEFT JOIN RAILSAMOUNT r ON p.planno =r.planno
WHERE p.planno='UU20013'

image.png

  • 3关注人数
  • 352浏览人数
  • 最后回答于:2020-4-7 10:06
    请选择关闭问题的原因
    确定 取消
    返回顶部