我正在尝试根据“仓库编号”列将一个表自我连接在一起。目的是列出相同物料类别和相同仓库中的任何零件对的零件编号,描述和物料类别。下面是所需输出和起始数据的示例。
开始数据
某些所需数据的示例
但是,当发生自连接时,没有“精确”重复,但是该对在表中出现两次。
我尝试了UNION,INNER JOIN和其他联接方法的大多数迭代。因为从技术上讲并不是另一行的精确重复,所以可以删除这些对吗?
答案 0 :(得分:1)
您可以更改加入条件,以检查第一个零件号严格小于第二个零件号:
SELECT
t1.PARTNUMB, t1.PARTDESC, t1.ITEMCLSS, t2.PARTNUMB, t2.PARTDESC, t2.ITEMCLSS
FROM PARTFIRST t1
INNER JOIN PARTSECOND t2
ON t1.WRHSNUMB = t2.WRHSNUMB AND
t1.ITEMCLSS = t2.ITEMCLSS AND
t1.PARTNUMB < t2.PARTNUMB;
使用FIRST.PARTNUMB <> SECOND.PARTNUMB
的问题在于,它将报告两个不同的零件编号,两次是两次,一次在左侧/右侧,反之亦然。通过使用严格小于的不等式,我们排除了您查看“重复项”的情况。