Проверьте всех сотрудников, которые прошли два определенных курса SQL - PullRequest
0 голосов
/ 10 июня 2018

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

SELECT cursist FROM inschrijvingen WHERE cursus IN ('XML', 'JAV');

Cursist - это employeeID, а inschrijvingen - это, в основном, реестр всех курсов.Теперь это возвращает все идентификаторы сотрудников, которые были в XML или JAVA.Как мне проверить всех сотрудников, которые были в обоих?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 10 июня 2018
SELECT cursist
FROM inschrijvingen
WHERE cursus IN ('JAV')
    AND cursist IN (
        SELECT cursist
        FROM inschrijvingen
        WHERE cursus IN ('XML')
        );
0 голосов
/ 11 июня 2018

Это могут быть другие способы использования оператора Set:

(SELECT cursist FROM inschrijvingen WHERE cursus='XML')
intersect
(SELECT cursist FROM inschrijvingen WHERE cursus='JAV');
0 голосов
/ 10 июня 2018

Вы рядом.Агрегация завершает ваше решение:

SELECT cursist
FROM inschrijvingen 
WHERE cursus IN ('XML', 'JAV')
GROUP BY cursist
HAVING COUNT(*) = 2;

Если inschrijvingen может иметь дубликаты, вы бы хотели HAVING COUNT(DISTINCT cursus) = 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...