暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL中Full Join是不支持的,如何解决

云自由 2022-06-13
1064

替代方法:

left join + union(可去除重复数据)+ right join

两张表时:

select * from A left join B on A.id = B.id (where 条件)unionselect *from A right join B on A.id = B.id (where条件);

示例:

全连接后,排除两个表的重复数据

select * from(
SELECT a.纳税人名称,a.税务金额,b.单位名称,b.业务金额 from
(SELECT 纳税人名称,sum(实缴金额) as 税务金额 FROM 养老_税务 GROUP BY 纳税人名称) a
left join
(SELECT 单位名称,sum(总金额) as 业务金额 FROM 养老_业务 GROUP BY 单位名称) b
on a.纳税人名称=b.单位名称
union
SELECT a.纳税人名称,a.税务金额,b.单位名称,b.业务金额 from
(SELECT 纳税人名称,sum(实缴金额) as 税务金额 FROM 养老_税务 GROUP BY 纳税人名称) a
right join
(SELECT 单位名称,sum(总金额) as 业务金额 FROM 养老_业务 GROUP BY 单位名称) b
on a.纳税人名称=b.单位名称
)t
where not(纳税人名称=单位名称 and 税务金额=业务金额)
or 纳税人名称 is null
or 单位名称 is null


文章转载自云自由,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论