私は最高のディスカウントオファーと共にビジネスを表示しようとしています。しかし、私はまだ提供していないビジネスを表示したいと思います。最高のオファーを表示しますが、オファーなしでまだ表示しています
企業はこれらの事業によってbusiness_tb
business_id | business_name
------------+---------------
1 | aaa
2 | bbb
3 | ccc
提供値引きに格納されているがdeal_offer_tb
deal_offer_id | business_id | deal_id
--------------+-------------+----------
1 | 1 | 3
2 | 1 | 2
3 | 2 | 0
4 | 1 | 1
5 | 3 | 3
に格納されていると割引の種類がdeal_tb
に格納されています。
deal_id | discount
--------+----------
1 | 40%
2 | 30%
3 | 20%
4 | 10%
だから私はこのようなものになるはずですたかっ表示:
1 | aaa | 40%
2 | bbb | ---
3 | ccc | 20%
しかし、私の現在のクエリでは:
SELECT a.business_id, a.business_name, c.discount
FROM business_tb a
LEFT JOIN (SELECT min(deal_id) AS deal_id, business_id FROM deal_offer_tb GROUP BY business_id) b ON a.business_id = b.business_id
LEFT JOIN deal_tb c ON b.deal_id = c.deal_id
は私が取得のみ:
1 | aaa | 40%
3 | ccc | 20%
それをオフのないビジネスを表示しない赤い割引。
希望の出力をどのように得ることができますか?
UPDATE:は、私が以前に何が起こったのかわからないが、私のクエリは、私はそれを望んでいた道を働いています。答えた人の努力に感謝します。それを感謝し、大きな時間!
ため
null
だと仮定します。 –@ GordonLinoff - はい、ただし割引なしの企業は表示されません。 –
「ccc」の「30%」がどこから来るのか分かりません。「deal_offer_tb」によれば、ビジネス3はディール3に関連付けられ、ディール3は20%を与える。 – Manngo