left join 左表資料重複問題

2021-10-06 21:14:45 字數 491 閱讀 1348

9++比如左邊是公司員工表member,每個員工都是唯一的;

右邊是工資表salary,每個人都是有多個工資的;

張三有5條工資記錄

select  m.name,s.salary from member m left join  salary s on m.m_id=s.m_id
當右表的資料是3條的時候,查詢結果就是 工資3條全部顯示,張三名稱重複出現3次

處理方案有多種,就是乙個中心思想,去重。

我一般習慣,對右表進行過濾,選擇需要的資料,比如,工資表有日期,先對右表進行一次查詢篩選,選擇最新日期的資料,然後,在查詢結果上進行 left join操作。

left join 右表多條資料重複

mysql的left join從兩個表中聯合查詢資料,以左表為主,右表為輔。如果左表中有的內容右表中沒有,則用null填充。這是一般的常見的解釋。也很容易理解。但是在做右表的多資料查詢的時候就得寫條件了。我寫乙個產品 產品的分頁過程中需要查出乙個即可。但是在用mysql的left join中,左表為...

多次使用 left join 左連線 多個表

b 1 product version 2 p category 3 p category product b quote select b pc.b name as 產品類別 b pv.b product id 產品id pv.version id as 版本id pv.name as 產品名稱 ...

Mysql 解決left join 資料重複的問題

select p.g.rolename,pg.srctype from t gold pay add p left join grole g on p.roleid g.roleid left join gpay pg on pg.roleid p.roleid 這上面那邊語句,容易造成資料重複 s...