создать объединение sql с большим количеством столбцов - PullRequest
0 голосов
/ 28 апреля 2018

я хочу создать sql statemnt (в PL SQL Developer) с объединением через запятую?

SELECT * FROM TABLE1 t1 JOIN TABLE2 t2 ON t1.tab_id, second_id = t2.tab_id, second_id;

Я всегда получаю исключение ORA-00920. Если я изменю это на две строки:

t1.tab_id = t2.tab_id AND t1.second_id = t2.second_id;

Тогда я получаю строки.

Кто-нибудь может сказать мне, могу ли я использовать первый шаг с колонками, разделенными комой?

Greetz

1 Ответ

0 голосов
/ 28 апреля 2018

Вам нужно действительное условие:

SELECT *
FROM TABLE1 t1 JOIN
     TABLE2 t2
     ON t1.tab_id = t2.tab_id AND t1.second_id = t2.second_id;

Я думаю, что Oracle также позволит вам:

SELECT *
FROM TABLE1 t1 JOIN
     TABLE2 t2
     ON (t1.tab_id, t1.second_id) in ( (t2.tab_id, t2.second_id) );

Или даже:

SELECT *
FROM TABLE1 t1 JOIN
     TABLE2 t2
     USING (tab_id, second_id);

Это работает, потому что ключи JOIN имеют одинаковые имена в двух таблицах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...