ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > SQL in Excel > SQL中如何按要求列出两表多列条件比较后的差异情况

SQL中如何按要求列出两表多列条件比较后的差异情况

作者:绿色风 分类: 时间:2022-08-17 浏览:148
楼主
whsfhwm
Q:SQL中如何按要求列出两表多列条件比较后的差异情况?
A:ERP工作表和K3工作表分别来自于两个不同系统物料信息,现需要剔除两表中物料相同的总数量也相同的记录,列出所有不同的记录,单位可任选两表中的一种。原始数据表中的同一物料
可以有多行,最后的结果中同一物料只占一行。使用如下SQL语句可以实现(这里还用到了first函数):
  1. SELECT 物料编号,first(单位) as 单位,sum(E数量) as ERP数量, sum(K数量) as K3数量 FROM
  2.   (SELECT 物料编号,单位,数量 AS E数量,0 as K数量 from [ERP$] WHERE 数量 is not null UNION ALL
  3.    SELECT 物料代码,计量单位,0,数量 from [K3$] WHERE 物料代码 is not null )
  4. GROUP BY 物料编号  HAVING sum(E数量)<>sum(K数量)
需要引起注意的是:要确保数据源表中的A列全为文本类型,C列全为数值类型。

查找差异6.rar
2楼
亡者天下
SQL查找差异,好!
3楼
hbslj
  1. (SELECT 物料编号,单位,数量 AS E数量,0 as K数量 from [ERP$] WHERE 数量 is not null UNION ALL

  2.    SELECT 物料代码,计量单位,0,数量 from [K3$] WHERE 物料代码 is not null )
版主好,从K3中,select 0什么意思?  还有第一句从K3中selcet  [b]“0 as K数量 ”不好懂?请解释一下,谢谢。
4楼
hbslj
  1. (SELECT 物料编号,单位,数量 AS E数量,0 as K数量 from [ERP$] WHERE 数量 is not null UNION ALL

  2.    SELECT 物料代码,计量单位,0,数量 from [K3$] WHERE 物料代码 is not null )
版主好,从K3中,select 0什么意思?  还有第一句从K3中selcet  [b]“0 as K数量 ”不好懂?请解释一下,谢谢。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap