内部联接创建重复列

时间:2015-12-12 15:50:38

标签: sql postgresql duplicates inner-join

我有两个表都包含artistid列。当我使用内部联接来组合这两个表时,我得到一个结果表,其中包含artistid列两次使我无法检索artistid(因为它抱怨模棱两可)。合并表后,如何确保相同的列不再出现? 这是我使用的查询:

SELECT * FROM artist a INNER JOIN track b ON a.artistid = b.artistid

2 个答案:

答案 0 :(得分:1)

如果唯一重复的列是artistid(您用于加入的列),则可以使用:

SELECT * 
FROM artist  
JOIN track USING(artistid);

SqlFiddleDemo

否则,您需要指定所有列并根据需要添加别名:

SELECT a.col1 AS alias, a.col2, ..., b.col1 AS alias2, b.col2, ... 
FROM artist a 
INNER JOIN track b ON a.artistid = b.artistid

答案 1 :(得分:0)

请不要使用内部联接。我有类似的问题创建报告。请改用。 从atrist中选择轨道,其中a.artistid = b.artistid