当前位置: 代码迷 >> Sql Server >> 新手求教left join 后,重复的字段只需显示一次的有关问题
  详细解决方案

新手求教left join 后,重复的字段只需显示一次的有关问题

热度:14   发布时间:2016-04-24 10:20:10.0
新手求教left join 后,重复的字段只需显示一次的问题
有三个表
A表: 
ID1              ID2  ... 
NAME1         AO1
NAME2         AO2
NAME3         AO3
            
B表:
ID11               ID12            ID13 ....
NAME1           BO1           BB1
NAME2           BO2           BB2
NAME3           BO3          BB3

C表:
ID22              ID23             ID24  ....
B01               C01              C12
B01               C01              C21
B01               C02              C22
B02               C03              C13

想要的结果是:
ID1                  ID2             ID12            ID13          ID23             ID24
NAME1          AO1             BO1            BB1            C01              C12
                                                                                    C01              C21
                                                                                   C02              C22
NAME2         AO2              BO2            BB2            C03              C13
NAME3         AO3              BO3            BB3

A表与B是一一对应,但B表与C表就一对多关系,C表有可能没有记录与B表相对应
我用:
SELECT DISTINCT ID1, ID2,ID11, ID12,ID13,ID22, ID23,ID24
FROM  A 
LEFT JOIN B  ON ID1=ID11
LEFT JOIN C  ON ID12=ID22

出来的结果是:
ID1                  ID2             ID12            ID13          ID23             ID24
NAME1          AO1             BO1            BB1            C01              C12
NAME1          AO1             BO1            BB1            C01              C21
  相关解决方案