Соединение составного ключа в ошибке SQL - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь объединить две таблицы с двумя ключами. Код соединения выглядит так:

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-скрипка с примерами данных

1 Ответ

0 голосов
/ 24 июня 2018

Это неоднозначно, потому что postgres хочет знать, из какой таблицы вы хотите col1.

Добавьте псевдоним к полям в предложении select. Например. выберите a.col1 ...

...