SQL UNION失效问题:只查询出子级数据和一条父级数据
您提供的查询语句中,union失效只查询出子级数据跟一条父级数据的原因可能是由于使用了'union all'而不是'union'关键字。
'union all'会返回所有满足条件的记录,包括重复的记录。而'union'关键字会返回所有满足条件的记录,但会自动去重,去除重复的记录。
如果您想要返回所有满足条件的记录并去除重复的记录,您可以尝试使用'union'关键字替代'union all'。
修改后的查询语句如下所示:
select distinct *
from (
select *
from guangdong_sfdmap
where xzqdm =441424141230
union
select c.*
from guangdong_sfdmap c
join guangdong_sfdmap t
on c.id = t.parent_id
where t.xzqdm =441424141230 and t.zzz0006=0
-- 最终查询,选择所有记录
) as tb order by tb.parent_id, tb.id desc;
这样修改后的查询语句会返回满足条件的所有记录,并自动去重。
原文地址: https://www.cveoy.top/t/topic/fhU3 著作权归作者所有。请勿转载和采集!