我想說的是,從表opportunities
的實體是否可以追加或不追加。一個公司可以有多個機會(1:N),並且當機會與公司有聯繫並且過去有一些其他機會已經成功完成業務(因此status
爲7)與同一個公司有聯繫時向上銷售是真實的。換句話說,第一個狀態爲7的機會不是向上銷售,不管他們的狀態如何,所有其他同一公司的銷售機會都是向上銷售的。正確使用GROUP BY
原來這就是我試過
SELECT opportunities.id ,true as upsell FROM opportunities, (
SELECT companies.id as company_id, opportunities.id as opportunity_id
FROM opportunities
JOIN companies ON companies.id = opportunities.company_id
WHERE opportunities.status = 7
GROUP BY companies.id, opportunities.id
HAVING min(opportunities.created_at) = opportunities.created_at)
AS subs WHERE subs.opportunity_id = opportunities.id
理念這裏是選擇在子查詢中的所有第一圓滿結束的機會(基於created_at
列),然後從誰的同一家公司的機會將其刪除。但是,即使子選擇無法正常工作,它也會返回由status = 7
過濾的所有機會,所以我可能誤解了group by子句。 -
樣本數據和期望的重新sults真的會有所幫助。 –
我會試試,謝謝 –