您提供的查询语句中,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;

这样修改后的查询语句会返回满足条件的所有记录,并自动去重。

SQL UNION失效问题:只查询出子级数据和一条父级数据

原文地址: https://www.cveoy.top/t/topic/fhU3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录