如何在使用简单连接时避免重复行

时间:2013-11-01 18:51:13

标签: sql

我有3张桌子。

Alpha

ID     NAME
____   _____

Beta

NAME    GOALS
_____  _______

查理

NAME   SCHOOL 
_____ _________

我想要一张桌子

ID    NAME    GOALS    SCHOOL 
______________________________

注意:

ID不是唯一的。所以对于每个ID,可能有许多名称。现在的问题是,当我使用内部联接或左联接时,我得到了许多重复的行。做帮助(SQL新手)

谢谢:))

1 个答案:

答案 0 :(得分:0)

名称是您的外键,因此如果Beta或Charlie中有两个相同的名称,它将复制Alpha行。

您需要决定的是如何汇总其他表中的值。 你可能想要每个名字的目标总和,但学校,你必须选择一个。否则,每个学校的每个学校都会有重复的行。

所以,如果alpha是

1 John
2 Sue

查理是

John UHT
John MIT
Sue MIT

你最终会得到

1 John UHT
1 John MIT
2 Sue  MIT

如果Beta有

John 4
John 5

情况变得更糟。现在约翰将出现4次。

因此,您需要应用聚合方法。然后做

... Group By Name