MySQL多表联合查询过滤重复数据怎么写

2025-03-03 05:51:31
推荐回答(2个)
回答1:

复审表通过一次自连接筛选出最大值后再做关联

SELECT
花名册.工号,
花名册.姓名,
取证情况.证书信息,
复审情况F.复审时间
FROM
花名册
LEFT JOIN 取证情况 ON 花名册.工号 = 取证情况.工号
LEFT JOIN (
SELECT 复审情况.* FROM 复审情况 
INNER JOIN
(SELECT MAX(复审时间) 复审时间,工号 FROM 复审情况 GROUP BY 工号) 复审情况2
ON 复审情况.复审时间=复审情况2.复审时间 AND 复审情况.工号=复审情况2.工号
) 复审情况F ON 花名册.工号 = 复审情况F.工号;

回答2:

MySQL多表联合查询过滤重复数据怎么写
SELECT COUNT(DISTINCT AA.字段)
FROM (SELECT 字段
FROM TABLE1
UNION ALL
SELECT 字段 FROM TABLE2) AA;