在MySQL SELECT查询中使用案例函数,然后选择



我正在尝试在MySQL选择查询中使用Case语句。我收到错误(子查询返回多于 1 行(

    SELECT mony.come,mony.go,mony.details,mony.id_bill,
    (
     case mony.details
        when 'collect' then (SELECT collect_from_customer.num FROM collect_from_customer INNER JOIN mony ON mony.id_bill = collect_from_customer.id WHERE collect_from_customer.id=mony.id_bill )
        when 'pay_to_cust' then (SELECT pay_to_customer.num FROM pay_to_customer INNER JOIN mony ON mony.id_bill = pay_to_customer.id WHERE pay_to_customer.id=mony.id_bill )
    end
) as idd 
,mony.date FROM mony

请帮助我

谢谢我找到了解决方案

SELECT m.come,m.go,m.details,m.id_bill,
(
case m.details
        when 'collect' then (SELECT collect_from_customer.num FROM collect_from_customer INNER JOIN mony m1 ON m1.id_bill = collect_from_customer.id WHERE collect_from_customer.id=m.id_bill LIMIT 1 )
        when 'pay_to_cust' then (SELECT pay_to_customer.num FROM pay_to_customer INNER JOIN mony m1 ON m1.id_bill = pay_to_customer.id WHERE pay_to_customer.id=m.id_bill LIMIT 1 )
end
) as idd 
,m.date FROM mony m

最新更新