当前位置:编程学习 > JAVA >>

多表连接 去重

如题:单表去重我们可能都会想到distinct

 


多表连接,只有在查询的所有字段都重复的情况下,才去掉重复的行。那么我们可以采用取各个表的最大主键去重

 


如下:

SELECT DISTINCT A.NO ,B.NAME,C.ACTION

FROM TBL_A A,TBL_B B,TBL_C C

WHERE

B.ID = (SELECT MAX(ID) FROM TBL_B WHERE A_ID = A.ID)

AND  C.ID = (SELECT MAX(ID) FROM TBL_C WHERE A_ID = A.ID)

AND .......

 


这样只取出各个表中的A_ID字段等于A.ID的那些行;然后取ID值最大(或者最小)的即可,因为去重去的是A.ID

 

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,