sql server 怎么呈现这种效果呢?

图片说明

注意:不能重复数据,重复的留空,请问sqlserver怎么呈现这种效果

分组,效果你在前端显示时,处理,数据库不干这事,实现这种样式的展示组件很多的

 SELECT A.经销商编号,a.推广名称,b.订单编号 from (
 SELECT 经销商编号,推广名称,ROW_NUMBER() OVER (PARTITION BY 经销商编号 ORDER BY 经销商编号)  cnt1 from 表A
 ) a
 left join
 (
 SELECT 经销商编号,订单编号,ROW_NUMBER() OVER (PARTITION BY 经销商编号  ORDER BY 经销商编号)  cnt2 from 表B
 ) on a.经销商编号=b.经销商编号 and a.cnt1=b.cnt2
 union all
 SELECT '' as 经销商编号,'' as 推广名称,b.订单编号 from
 (
 SELECT 经销商编号,订单编号,ROW_NUMBER() OVER (PARTITION BY 经销商编号  ORDER BY 经销商编号)  cnt2 from 表B
 ) b where not exists( select 1 from (
 SELECT 经销商编号,推广名称,ROW_NUMBER() OVER (PARTITION BY 经销商编号 ORDER BY 经销商编号)  cnt1 from 表A
 ) a  where a.经销商编号=b.经销商编号 and a.cnt1=b.cnt2

 主要注意通过OVER的对同一个经销商进行编号,其他应该没有太多难点,顶多就是多嵌套几层
 以上SQL没有调测过,就是一个思路,错误还得自己调