查询1:
SELECT sum(total_revenue_usd)
FROM table1 c
WHERE c.irt1_search_campaign_id IN (
SELECT assign_id
FROM table2 ga
LEFT JOIN table3 d
ON d.campaign_id = ga.assign_id
)
查询2:
SELECT sum(total_revenue_usd)
FROM table1 c
LEFT JOIN table2 ga
ON c.irt1_search_campaign_id = ga.assign_id
LEFT JOIN table3 d
ON d.campaign_id = ga.assign_id
查询1给了我正确的结果在那里,因为我需要它在第二风格不“在”使用。但是查询2不会给出相同的结果。3桌和2个左联接
如何在不使用'in'的情况下更改第一个查询?
其原因是是,小的查询是一个更大的查询的一部分,还有其他不会“在”
心不是”它足够使用JOIN,而不是第一个LEFT JOIN线的东西? – marcosh
在table2中可以有多个行使用相同的assign_id吗? –
这些其他的条件与'IN'不兼容? – Bridge