我有一个PostgreSQL查询,在这里我通过连接另一个临时表和数据库中的表来创建临时表。

DROP TABLE IF EXISTS other_temp_table;
CREATE TEMP TABLE other_temp_table AS
  SELECT *
        FROM base.main_data
        WHERE  period_start_time::DATE >= '2017-06-20' AND period_start_time::DATE <= '2017-07-26';
------------------------------------------------------------------------------------------------------------------------
DROP TABLE IF EXISTS first_temp_table;
CREATE TEMP TABLE first_temp_table AS
SELECT *
    FROM _temp_table
LEFT JOIN base."UL_parameters"
        ON temp_table.base_col::INT = base."UL_parameters".base_col::INT
        and temp_table.sec_col::INT= base."UL_parameters".sec_col::INT;

现在,问题是多次指定了“ERROR:column”secu col。
但当我删除secu-col连接条件并只执行base-col时,一切都正常。我想我需要创建一个别名,但不知道如何创建。

最佳答案

我认为问题在于两个联接表中都有一个secu col列。尝试用select *替换select column1, column2, ...
通常避免select *是一个好的实践,因为当表定义更改时,它可能会导致错误。

关于sql - 通过PostgreSQL中的两列连接两个数据集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46215532/

10-16 01:37