左联接中有重复的行

时间:2020-04-15 04:15:37

标签: sql google-bigquery

我有2张桌子。一列中大约有100000个null,其他值是整数,总值约为200000。另一张表中只有整数值。当我在此列上使用左联接时,它给了我很多重复行。可以在这里使用左联接吗?

Table 1: 
Column 1
2
3
5
null 
null

Table 2: 
Column 1
1
2
3
so on

enter image description here

1 个答案:

答案 0 :(得分:1)

您的例子确实很奇怪。为什么有人在ID字段中会有空值?但无论如何。 如果您如上所述需要结果集中表2中的字段,那么必须使用INNER JOIN而不是LEFT JOIN

类似的东西:

    SELECT DISTINCT a.id, a.name, b.someOtherField
      FROM Table1 a
INNER JOIN Table2 b ON a.id = b.id

请注意:由于仅表1的ID字段具有空值,因此将不会从表1中选择ID为NULL的记录,因为它们在表2中没有等效项。添加DISTINCT关键字有助于在查询仍然存在的情况下产生重复项。