Мне нужно искать имена и имена сотрудников, которые имеют среднюю зарплату - PullRequest
0 голосов
/ 06 февраля 2019
SELECT DISTINCT employee.lname, employee.fname
FROM employee, department
WHERE salary > (SELECT AVG(employee.salary)
FROM employee, department
WHERE employee.dno = department.dnumber);

Программный вывод

lname   fname
Wong    Franklin
Wallace Jennifer
Narayan Ramesh
Borg    James

Правильный вывод

lname   fname
Wong    Franklin
Wallace Jennifer
Narayan Ramesh

1 Ответ

0 голосов
/ 06 февраля 2019

Используйте всегда правильный явный стандартный JOIN синтаксис и уточните имя столбца:

SELECT DISTINCT e.lname, e.fname
FROM employee e INNER JOIN 
     department d
     ON d.dnumber = e.dno 
WHERE e.salary > (SELECT AVG(e1.salary)
                  FROM employee e1 INNER JOIN 
                       department d1
                       ON d1.dnumber = e1.dno 
                 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...