使用重复项连接2个表,而不会以指数方式增加SQL上的行数

时间:2017-08-23 13:19:50

标签: sql netezza

我需要连接2个表,其中每个表的整行是唯一的,但是我加入的键上有重复项,这导致多个重复项。请参阅以下示例:

Table A:                      Table B:
Primary_Key  Variable_A1       Primary Key    Variable_B1   Variable_B2
   A             1                 A              5             6
   B             2                 A              7             8
   C             3                 C              5             0

加入时会发生以下情况:

 Primary Key     Variable_A1    Variable_B1   Variable_B2
     A               1              5           6  
     A               1              7           8
     A               1              5           8
     A               1              7           6

我只需要下面连接的唯一行:

     Primary Key     Variable_A1    Variable_B1   Variable_B2
         A                1              5              6  
         A                1              7              8

因此我需要一个代码,其中SQL确认带有Variable_B2的Variable_B1是唯一的并且不会将其分解,从而导致重复

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这可能会有所帮助:

而不是:

SELECT * FROM A
JOIN B ON A.Primary_key = B.Primary key

尝试:

SELECT * FROM A
JOIN (SELCET DISTINCT * FROM B) BB on (A.Primary_key = BB.Primary key)