在PostgreSQL中通过两列连接两个数据集
我有一个PostgreSQL查询,通过连接另一个临时表和数据库中的临时表来创建临时表在PostgreSQL中通过两列连接两个数据集,sql,postgresql,join,Sql,Postgresql,Join,我有一个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 <=
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;
如果存在其他临时表格,则删除表格;
创建临时表其他临时表作为
挑选*
从base.main_数据
当period_start_time::DATE>='2017-06-20'和period_start_time::DATE时,我认为问题在于两个联接表中都有一个sec_col列。尝试将select*
替换为select column1,column2,…
通常避免select*
是一种很好的做法,因为当表定义更改时,它可能会导致错误。我认为问题在于两个联接表中都有一个secu col列。尝试将select*
替换为select column1,column2,…
通常避免select*
,这是一个很好的做法,因为当表定义更改时,它可能会导致错误。我不知道PostgreSQL语法,但如果存在表,请删除表\u temp\u table;创建临时表,因为SELECT*FROM临时表看起来很奇怪me@RaphaelMüllner我打字时的错误您尝试加入临时表格,但随后参考临时表格(没有第一个下划线)@verhie谢谢,但这不是问题,我无法复制原始语法,因为它在NDA下,然后我在键入时出错。我不知道如何从base.UL_参数为sec_col创建别名我不知道PostgreSQL语法,但如果存在,请删除TABLE _temp_TABLE;创建临时表,因为SELECT*FROM临时表看起来很奇怪me@RaphaelMüllner我打字时的错误您尝试加入临时表格,但随后参考临时表格(没有第一个下划线)@verhie谢谢,但这不是问题,我无法复制原始语法,因为它在NDA下,然后我在键入时出错。我不知道如何从base.UL_参数为sec_col创建别名非常感谢,我在连接时更改了表的顺序,然后选择列,而不是选择*。非常感谢,我在连接时更改了表的顺序,然后选择列,而不是选择*。