关于表关联数据发散问题
SELECT
A.NO,
A.NAME,
B.NAME,
C.NAME
FROM A_DEMO A_DEMO
LEFT JOIN B_DEMO B
ON A.NO = B.NO
LEFT JOIN C_DEMO C
ON A.NO = C.NO
1、检查主表A是否自身带有重复数据
2、检查B、表C表是否带有重复数据
解决方法
1、对关联条件进行检查
(1)应做到一对一的关系,一对多的关系会导致数据发散
(2)增加过滤条件
2、对重复数据的表去重处理
(1)GROUP BY
(2)DISTINCT
(3)做子查询进行分组排序取1条数据
3、对表进行预处理
提前把可能会出现重复数据的表进行去重
【Oracle】关于去重问题