Reputation: 97
I have the lines of code in My SQL Workbench, but I am receiving the error: Error Code: 1242. Subquery returns more than 1 row.
SELECT Fname, Lname, Dnum, Pno
FROM EMPLOYEE e, PROJECT p, WORKS_ON w
WHERE p.Dnum = (SELECT Dno FROM EMPLOYEE WHERE e.Ssn = w.Essn AND w.Pno = p.Pnumber)
I am trying to display a table of employees that are working on a project that is not sponsored by their department.
Upvotes: 1
Views: 1415
Reputation: 674
Optimized query:
SELECT Fname, Lname, Dnum, Pno
FROM EMPLOYEE e
INNER JOIN WORKS_ON w ON e.Ssn = w.Essn
INNER JOIN PROJECT p ON w.Pno = p.Pnumber AND p.Dnum = e.Dno
Upvotes: 0
Reputation: 2254
try this
SELECT Fname, Lname, Dnum, Pno
FROM EMPLOYEE e, PROJECT p, WORKS_ON w
WHERE p.Dnum in (SELECT Dno FROM EMPLOYEE WHERE e.Ssn = w.Essn AND w.Pno =
p.Pnumber);
use in
clause instad =
Upvotes: 1