当前位置:操作系统 > Unix/Linux >>

多表连接去重语句

多表连接去重语句
 
如题:单表去重我们可能都会想到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
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,