【问题标题】: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 中选择曲目

      【讨论】:

        猜你喜欢
        • 2013-09-09
        • 2015-01-25
        • 1970-01-01
        • 2012-09-24
        • 2018-11-18
        • 1970-01-01
        • 1970-01-01
        • 2018-12-10
        • 1970-01-01
        相关资源
        最近更新 更多