簡體   English   中英

左聯接,左表的最后插入記錄,右表的所有記錄

[英]Left Join with last insert record from left table and all record form right table

根據公司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

我正在使用此查詢來記錄病歷

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)

但未顯示尚未訂閱的公司的結果。

需要幫忙。

您必須將條件置於加入條件中。 這樣做,您將不會丟失任何行:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM