【发布时间】:2017-05-09 22:52:14
【问题描述】:
我正在尝试在 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
请帮帮我
【问题讨论】:
-
我没有看到任何
if...您正在使用case语句,而您遇到的错误是因为您的子查询返回的不止一行...您可以测试将limit 1添加到您的每个子查询中。 -
你是对的...对不起,选择(mony.id_bill)时,需要使用这个值来选择另一个 span>
-
如果您可以编辑您的问题并包含此详细信息,这将使其他人更容易回答
:@) -
感谢 -Martin 的关注