Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql join在结果集中给出了重复的结果_Sql_Ibm Midrange_Db2 400 - Fatal编程技术网

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子句中比较该表中的一列的事实是将其更改为内部连接。