多表left join出現的重複資料問題

2022-04-01 03:40:17 字數 331 閱讀 3398

最近在做乙個報表,比較複雜,大體是乙個主表a,子表b,子表c,子表d,統計這3個主表對應的資料。一開始我直接用left join 進行關聯,結果統計的資料大了,

結果發現,資料有重複,left join 關聯時,如果u有2個,c有2個,b的資料會重複,這樣資料會變多,在如果個,d也有的話,資料又有很多重複。

解決辦法:

由於是想在一條sql裡來實現這個功能,但是重複資料比較麻煩,使用distinct也沒辦法解決,最後只能用字查詢來做,

類似:select (select sum(a.num) from b,a where a.id=b.id ) c,sum(a.num) from a 

Left join多表查詢

sql 多表查詢中用到的連線查詢使用較多的是left join,連線的表查詢到的資料為空時,主表顯示null值,不會影響整個查詢結果 具體用法 1.建立表單 教師表和學院表 create table if not exists teacher id int 11 auto increment pri...

關於多表的leftJoin

建立表結構如下 create table x.a a1 int,a2 varchar 10 create table x.b b1 int,b2 varchar 10 create table x.c c1 int,c2 varchar 10 insert into x.a values 1 hah...

LEFT JOIN 去除重複

a表 primarykey foreignkey amoney 5 53212 173250.0000 8 53212 173250.0000 b表primarykey foreignkey amoney 1 53212 10.0000 2 53212 13.0000 select isnull a...