0
私はカップルのビジネス名を選択し、他の2つの結合テーブルからの結果を数える非常に単純なクエリを持っています。何らかの理由で、数字がルールにのみ正しいとしても、ルールと同じ数のオファーを取得します。2つの結合されたテーブルからの数が同じではないのに同じものを示しています
たとえば、2つのオファーと6つのルールがあります。返された結果は両方とも6と表示されます。
私は何が欠けていますか?
SELECT
business_profile.busID,
business_profile.busName,
COUNT(business_offers.ofr_id) AS cntOffers,
COUNT(business_rules.rule_id) AS cntRules
FROM business_profile
LEFT JOIN business_offers ON (business_offers.ofr_busID = business_profile.busID)
LEFT JOIN business_rules ON (business_rules.rule_busID = business_profile.busID)
WHERE business_profile.busID > 1
GROUP BY business_profile.busID
ORDER BY cntRules DESC, cntOffers DESC
LIMIT 20
てみ 'COUNT(DISTINCT ...)'(つまりNULL値がカウントされませんを除く)それ以外の場合は、あなただけの行数をカウントしている – Barmar
は、列名は無関係です。 – Barmar