查詢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