次のクエリがあり、買い手、買い手、 ソース、総リード数、返されたリードの4つの列を生成しようとしています。サブクエリの追加
問題は、リードの総数が列に含まれていることです。返された値はデータベース内で値が0または1の列です。返される値はすべて1ですが、購入したリードについては0が必要です。次のクエリを実行すると、購入されたリードはすべて終了しますどのようにして希望の結果を得るためにサブクエリを修正できますか?
SELECT
ba.buyer,
l.source,
(SELECT COUNT(*) FROM lead_status WHERE lead_id = l.id AND returned != 1) AS 'Bought Leads',
SUM(l.returned) AS 'Returned_Leads'
FROM lead_status AS ls
LEFT JOIN leads AS l ON ls.lead_id = l.id
LEFT JOIN buyer_account AS ba ON ba.lead_buyer_id = ls.lead_buyer_id
WHERE l.origin = 'PING_POST'
AND ls.discriminator IN('AUTO_POST','HOME_POST','HEALTH_POST','LIFE_POST')
AND DATE(ls.create_date) BETWEEN '2012-02-01' AND '2012-02-31'
AND l.sold = 1 AND ls.winner = 1 AND l.test = 0 AND l.returned = 1
GROUP BY ls.buyer, l.source;
クリエイティブ、私は私よりもそれが好きです。より効率的です。 – JKomusin
ビットフィールドでない場合は、減算のabs()を取って0と1の値を得ます – Sparky