我有以下查询,并且我正在尝试生成四列,即买方, 源,总数和返回的潜在客户。添加子查询
问题在于包含一个包含导联总数的列。返回的是我的数据库中的一列,其值为0或1.所以返回的是1的所有东西,但对于买过的导致,我需要的所有东西都是0.当我运行以下查询时,所有购买的导致最终成为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 2012-03-02 21:58:13
如果不是位域,则采用减法的abs()得出0和1的值 – Sparky 2012-03-02 22:53:29