Использование самостоятельного объединения и объединения с третьей таблицей в одном запросе - PullRequest
0 голосов
/ 02 октября 2018

Я хотел бы самостоятельно присоединиться к таблице, а затем присоединить ее к третьей таблице ... ниже моя попытка, но я получаю ошибку 904 в строке 4 "a.employee_t.employeeid".Возможно ли это и какой синтаксис я бы использовал?

SELECT a.employeename, b.employeename
FROM employee_t a, employee_t b
JOIN employeeskills_t ON 
a.employee_t.employeeid=employeeskills_t.employeeid;

РЕДАКТИРОВАТЬ: я должен был колебаться, прежде чем отправлять это, потому что мой код был очень бессмысленным ... Я опубликую ниже с правильным синтаксисом (без ошибок 904)

SELECT a.employeename, b.employeename, employeeskills_t.skillid
FROM employee_t a
JOIN employee_t b ON a.employeeid=b.employeeid
JOIN employeeskills_t ON a.employeeid=employeeskills_t.employeeid;

Я использую базу данных Oracle версии 12.2.0.1.0

Ответы [ 3 ]

0 голосов
/ 02 октября 2018

Ваш запрос должен выглядеть примерно так:

SELECT a.employeename, b.employeename
FROM employee_t a
JOIN employee_t b ON
b.employeeid = a.employeeid (YOUR JOIN CONDITION)
JOIN employeeskills_t ON
employeeskills_t.employeeid = a.employeeid;

Обратите внимание, что я изменил условие соединения a.employee_t.employeeid=employeeskills_t.employeeid, поскольку вы использовали псевдоним таблицы и имя таблицы.

0 голосов
/ 02 октября 2018

Немного догадок ... может быть, это то, что вы ищете?Я предполагаю, что вы хотите расширить этот запрос, сейчас он не имеет особого смысла.

SELECT a.employeename, b.employeename
FROM employee_t a
JOIN employee_t b on a.employeeid= b.employeeid
JOIN employeeskills_t c ON a.employeeid=c.employeeid;
0 голосов
/ 02 октября 2018

Нет, вы не можете использовать другой синтаксис.employee_t a, employee_t b должен быть присоединен через JOIN

...