2015-08-17 63 views
0

取數據與加入最後插入記錄從左表基於公司ID和所有記錄從右表無所謂它有任何在左表中匹配記錄。左加入最後一個插入記錄從左表和所有記錄表格右表

**company_list** 
id 
company_id 
company_name 
company_address1 
company_address2 
company_phone 
company_headoffice 
active 

**company_subscription_list** table field name is 
id 
company_id 
company_name 
company_address1 
company_address2 
company_phone 
company_headoffice 
active 

,我使用這個查詢fecth記錄

SELECT *, c.id AS main_id 
FROM company_list as c 
LEFT JOIN company_subscription_list as s ON c.company_id = s.company_id 
where s.id IN (select max(id) from company_subscription_list GROUP BY company_id) 

但這些公司誰還不認購其沒有顯示結果。

需要幫助。

+0

改變'where'到'和'可以幫助,但如果你喜歡,可以考慮以下這個簡單的兩步過程行動:1.如果您還沒有這樣做,請提供適當的DDL(和/或sqlfiddle),以便我們可以更輕鬆地複製問題。 2.如果您尚未這樣做,請提供與步驟1中提供的信息相符的所需結果集。 – Strawberry

+0

第4行看起來很亂 – Drew

+0

http://sqlfiddle.com/#!9/d1150/1/0 @草莓 我想所有記錄表格我的company_list表 –

回答

1

你必須把你的條件在你的連接條件。這樣做,你不會失去行:

SELECT *, c.id AS main_id 
FROM company_list as c 
LEFT JOIN company_subscription_list as s 
    ON c.company_id = s.company_id 
    AND s.id IN (select max(id) from company_subscription_list GROUP BY company_id) 

嘗試此鏈接:http://sqlfiddle.com/#!9/5db87/4

+0

非常感謝@coytech –

相關問題