Documente Academic
Documente Profesional
Documente Cultură
Interogari-Greseli Frecvente
Interogari-Greseli Frecvente
Greseli frecvente
Afisati numele angajatilor care lucreaza 23 ore/saptamana la un proiect derulat in cadrul companiei CORECT SELECT A.Nume FROM Angajati A WHERE AngajatID IN (SELECT AngajatID from AngajatiProiecte AP WHERE AP.NrOreSaptamana = 23) INCORECT SELECT A.Nume FROM Angajati A WHERE AngajatID = (SELECT AngajatID from AngajatiProiecte AP WHERE AP.NrOreSaptamana = 23
Msg 512, Level 16, State 1, Line 1 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
Afisati numele si prenumele angajatilor care lucreaza la proiecte ce sunt coordonate de departamentul din care fac parte
SELECT A.Nume, A.Prenume, P.NumeProiect FROM Angajati A, Proiecte P, AngajatiProiecte AP WHERE ((A.AngajatID = AP.AngajatID) AND (P.DepartamentID = A.DepartamentID) AND (AP.ProiectID = P.ProiectID))
SAU
SELECT A.Nume, A.Prenume, P.NumeProiect FROM Angajati A INNER JOIN Proiecte P ON (P.DepartamentID = A.DepartamentID) INNER JOIN AngajatiProiecte AP ON ((A.AngajatID = AP.AngajatID) AND (AP.ProiectID = P.ProiectID))
Afisati numele si prenumele angajatilor care lucreaza la toate proiectele coordonate de departamentul din care fac parte.
select a.nume, a.prenume CORECT from angajati a where (select count(distinct p.proiectid) from angajatiproiecte ap, proiecte p where a.angajatid = ap.angajatid and p.departamentid = a.departamentid and p.proiectid = ap.proiectid) = (select count(distinct p2.proiectid) from proiecte p2 where a.departamentid = p2.departamentid) group by a.angajatid, a.nume, a.prenume
Afisati numele si prenumele angajatilor care lucreaza la toate proiectele coordonate de departamentul 1.
SELECT a.Nume, a.Prenume GRESIT FROM Angajati a, AngajatiProiecte ap WHERE a.AngajatID = ap.AngajatID and ap.ProiectID IN ALL IN ALL nu (SELECT p.ProiectID exista! FROM Proiecte p WHERE p.DepartamentID = 2)