Code :
DROP TABLE personnes go DROP TABLE projets go CREATE TABLE projets ( projid numeric PRIMARY KEY, nom_proj varchar(20), type varchar(20), directeur varchar(20) ) go CREATE TABLE personnes ( idpers numeric, nom_pers varchar(20), prenom varchar(20), projid numeric FOREIGN KEY REFERENCES projets(projid) ) go INSERT INTO projets VALUES (1, 'Projet 1', 'maintenance', 'Directeur'); INSERT INTO projets VALUES (2, 'Projet 2', 'maintenance', 'Directeur'); INSERT INTO projets VALUES (3, 'Projet 3', 'maintenance', 'Directeur'); INSERT INTO projets VALUES (4, 'Projet 4', 'nettoyage', 'Directeur'); INSERT INTO projets VALUES (5, 'Projet 5', 'nettoyage', 'Directeur'); INSERT INTO projets VALUES (6, 'Projet 6', 'nettoyage', 'Directeur'); INSERT INTO personnes VALUES (1, 'Dupond', 'Toto', 1); INSERT INTO personnes VALUES (2, 'Dupond', 'Toto', 2); INSERT INTO personnes VALUES (3, 'Durand', 'Titi', 3); INSERT INTO personnes VALUES (4, 'Durand', 'Titi', 4); INSERT INTO personnes VALUES (5, 'Dupuis', 'Tutu', 5); INSERT INTO personnes VALUES (6, 'Dupuis', 'Tutu', 6); INSERT INTO personnes VALUES (7, 'Dupuis', 'Tutu', NULL); INSERT INTO personnes VALUES (8, 'Prout', 'Coin', NULL); INSERT INTO personnes VALUES (7, 'Dupond', 'Toto', NULL); INSERT INTO personnes VALUES (7, 'Durand', 'Titi', NULL); SELECT per.nom_pers, per.prenom FROM personnes per LEFT OUTER JOIN projets pro ON pro.projid = per.projid AND pro.type = 'maintenance' GROUP BY per.nom_pers, per.prenom HAVING count(pro.projid) = 0
|