2 つの select ステートメントで結合を実行しようとしていました。
select x.A from (select blah - Q1 )x join (select blah - Q2 ) y on x.A = y.A
Q2の代わりにあるクエリがあります:
select c.cust_id, c.card_id, c.name, s.name, sum(b.amt) - sum(p.amt) as DUE_AMT, DATEDIFF( now(), min(b.due_date)) AS DELAY
from cust c
inner join bill b on b.cust_id = c.cust_id
left join payment p on p.bill_id = b.bill_id
inner join street s on s.street_id = c.street_id
where c.co_id=1
group by c.cust_id
上記のステートメントは正常に実行され、結果セットが返されます。
しかし、上記のクエリを select * from (Q2) x で囲もうとすると、mysql ワークベンチはそれを実行しません。私は何を間違っていますか?(Q1) x から * を選択するため、他のクエリを入力すると完全に機能します。
select * from (
select c.cust_id, c.card_id, c.name, s.name, sum(b.amt) - sum(p.amt) as DUE_AMT, DATEDIFF( now(), min(b.due_date)) AS DELAY
from cust c
inner join bill b on b.cust_id = c.cust_id
left join payment p on p.bill_id = b.bill_id
inner join street s on s.street_id = c.street_id
where c.co_id=1
group by c.cust_id
) x