【发布时间】:2017-08-02 13:54:25
【问题描述】:
我有这个 SQL:
SELECT
SUM(er.total)
AS total
FROM
campaigns AS cmp
JOIN versions AS cv ON (cv.campaign_id = cmp.id)
JOIN creatives AS cr ON (cr.version_id = cv.id)
JOIN records AS er ON (er.creative_id = cr.id)
WHERE
cmp.business_id IN (-1,'39909') AND
cv.campaign_id IN (-1,65288) AND
er.type IN (5,6,1) AND
er.date BETWEEN '2017-06-11' AND '2017-06-11'
GROUP BY version_id, er.date
我需要在 where 子句中添加一个新条件,为此它需要添加新的连接,像这样 -
SELECT
SUM(er.total)
AS total
FROM
campaigns AS cmp
JOIN products as p ON (p.campaign_id = cmp.id)
JOIN versions AS cv ON (cv.campaign_id = cmp.id)
JOIN creatives AS cr ON (cr.version_id = cv.id)
JOIN records AS er ON (er.creative_id = cr.id)
WHERE
cmp.business_id IN (-1,'39909') AND
cv.campaign_id IN (-1,65288) AND
er.type IN (5,6,1) AND
er.date BETWEEN '2017-06-11' AND '2017-06-11' AND
p.product_id IN(1,2)
GROUP BY version_id, er.date
但是,在这里,SUM(er.total) 的值发生了变化,它会增加。我尝试添加左/右/内连接。但结果是一样的。我应该如何在不增加总数的情况下为该表添加联接?
【问题讨论】:
标签: mysql