gogozz

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

补集EXCEPT 的使用

 

补集的定义

参数说明:

● UNION: 求两个数据集的并集,即将两个数据集合并成一个数据集。

● INTERSECT:求两个数据集的交集。即输出两个数据集均包含的记录。

● EXCEPT: 求第二个数据集在第一个数据集中的补集。即输出第一个数据集包含而第二个数据集不包含的记录。

  其实这个理解有点抽象,应该理解为去掉A集合中,B也存在的元素。

● MINUS: 等同于EXCEPT。

 

 

 

 

用例:

SELECT wlzbm,wlzms FROM uf_SAP_wlz WHERE wlfl = 'Z004' 
EXCEPT  
SELECT wlzbm,wlzms FROM uf_SAP_wlz WHERE ZFL != ''

 

 

实际例子:

可以看到,物料分类关联中分类,中分类再关联物料组编码

但这个关联不是连续的。

有一些是物料分类直接对接到了物料组编码

 

实际用到的时候,如果用户选择了物料分类,那么就要去看中分类能否选择。

如果中分类有,选择后到物料组继续选择。

如果中分类没有,则直接到物料组选择。

 

解决这个中间层级有可能缺失的情况。

思路:

先:

SELECT wlzbm,wlzms FROM uf_SAP_wlz WHERE wlfl = 'Z001' 

找出这个物料分类对应的物料组。

这个是一定有的。

 

SELECT wlzbm,wlzms FROM uf_SAP_wlz WHERE ZFL != '201'

找出不是中分类的集合。

 

最后用到补集就能找到该中分类的集合了。

这样一个好处,就是当中分类不存在集合的时候,在与物料分类做补集的时候,能完整带出物料分类对应的所有物料组编码。

 

posted on   stfzhuang  阅读(33)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示