SQL错误中的复合键联接

时间:2018-06-23 22:07:25

标签: sql postgresql hive hql

我试图用两个键连接两个表。联接代码如下:

select 
    col1, col2, col3, col4
from 
    data a 
join
    data1 b on a.col1 = b.col1 and a.col3 = b.col3

我遇到错误:

  

查询错误:错误:ER_NON_UNIQ_ERROR:字段列表中的列'col1'不明确

CREATE TABLE data 
(
    Id Serial,
    col1 VARCHAR(70) NOT NULL,
    col3 varchar(70),
    col2 integer,
    PRIMARY KEY(Id)
);

CREATE TABLE data1 
(
    Id Serial,
    col1 VARCHAR(70) NOT NULL,
    col3 varchar(70),
    col4 integer,
    PRIMARY KEY(Id)
);

SQL fiddle(包含示例数据)

1 个答案:

答案 0 :(得分:3)

这是模棱两可的,因为postgres想知道您想从col1中使用哪个表。

向select子句中的字段添加别名。例如。选择a.col1 ...