【问题标题】:inner join creating a duplicate column内部连接创建重复列
【发布时间】:2015-12-12 15:50:37
【问题描述】:
我有两个表都包含列artistid。当我使用内部连接来组合两个表时,我得到一个包含列 artistid 的结果表两次,这使我无法检索到 artistid(因为它抱怨不明确)。如何确保合并表格后不会再次出现同一列?
这是我使用的查询:
SELECT * FROM artist a INNER JOIN track b ON a.artistid = b.artistid
【问题讨论】:
标签:
sql
postgresql
duplicates
inner-join
【解决方案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
【解决方案2】:
请不要使用内连接。我在创建报告时遇到了类似的问题。改为使用。
从 a.artistid = b.artistid 的 atrist 中选择曲目