Sql join在结果集中给出了重复的结果
我们想加入。第一个表包含我们需要的大部分数据。第二个是每个零件的销售数据。第一个表格只是浏览一下,它给出了这个Sql join在结果集中给出了重复的结果,sql,ibm-midrange,db2-400,Sql,Ibm Midrange,Db2 400,我们想加入。第一个表包含我们需要的大部分数据。第二个是每个零件的销售数据。第一个表格只是浏览一下,它给出了这个 TRUL02A I 2,014 CRW 16.00- CORGDFOIL I 2,014 CRW 7,090.00- FISTAS I 2,014 CRW 5,716.00- HW
TRUL02A I 2,014 CRW 16.00-
CORGDFOIL I 2,014 CRW 7,090.00-
FISTAS I 2,014 CRW 5,716.00-
HWCR1 I 2,014 CRW 70,403.00-
HWFE1 I 2,014 CRW 52,317.00-
RO060 I 2,014 CRW 12,669.00-
MYCBOCB I 2,014 CRW 66.00-
MY6BOCB I 2,014 CRW .00
MA20X3UL I 2,014 CRW 167.00-
MA20X3CS1 I 2,014 CRW 72,978.00-
没有重复的零件号,但在
每个零件的销售金额表我们有两份
SELECT
ALL T01.IAPRT#, T01.IA101, T01.IAPRLC, T01.IAUM, T01.IAPR$C,
T01.IARCC1,
T01.IARCC2, T01.IARCC3, T01.IARCC4, T01.IARCC5,
T01.IARCC6,
T01.IARCC7, T01.IARCC8, T01.IARCC9, T01.IARC10,
T01.IARC11,
T01.IARC12, T01.IARC13, T01.IARC14, T01.IARC15,
T02.IQYER#,
T02.IQA01, T02.IQA02, T02.IQA03, T02.IQA04, T02.IQA05,
T02.IQA06,
T02.IQA07, T02.IQA08, T02.IQA09, T02.IQA10, T02.IQA11,
T02.IQA12,
T02.IQA13, T02.IQA14
FROM ASTDTA.ICPRT1 T01 LEFT OUTER JOIN
ASTDTA.ICSUM1 T02
ON T01.IAPRT# = T02.IQPRT#
WHERE IAORDF = '1'
AND IARCC6 = 'INV'
AND T02.IQYER# = 2014
Gives duplicate data:
AB25X5CL 2.5x5x1 CLEAR ACRYLIC BASE CAC EA REC
AB25X5CL 2.5x5x1 CLEAR ACRYLIC BASE CAC EA REC
AB25X5CL 2.5x5x1 CLEAR ACRYLIC BASE CAC EA REC
这是有道理的类型的零件将出售多次。表格数据似乎表明,这不是库存,而是商店通常携带的物品,以及价格。因此,如果您查看sales表中的数据,您可能会看到这些商品中有3个已经售出。您的加入看起来没有什么不对劲。请以后为您提供的所有数据包含列标题,以便我们知道您在说什么。现在的问题是确定ICSUM1的唯一行是什么样子,或者如何获得一个。2注意-1在选择列表之前去掉ALL关键字,它不会做任何事情,您可以将其交换为DISTINCT,因为这将得到唯一的结果行,但不清楚这是否是最佳/正确的解决方案2您实际上没有左连接-您在WHERE子句中比较该表中的一列的事实是将其更改为内部连接。