ВЫБРАТЬ БЕЗ ПОВТОРОВ карта
ИЗ карты
ГДЕ card_status В (Decline, Stolen, Card OK)
ВЫБРАТЬ КОЛИЧЕСТВО( БЕЗ ПОВТОРОВ карта)
ИЗ журнал изменения
ГДЕ (AMND_STATE = 'A') и (card_status <> 'Card OK')
-- Только значимые столбцы
CREATE TABLE exam_mark (ID INT IDENTITY, student_id INT, mark INT)
INSERT exam_mark (student_id, mark )
VALUES (4, 5), (4, 4), (4, 4), (4, 5), (4, 2),
(5, 5), (5, 5), (5, 4), (5, 3), (5, 5),
(6, 2), (6, 2), (6, 3), (6, 2), (6, 2),
(7, 3), (7, 3), (7, 3), (7, 3), (7, 3)
SELECT gd.*
FROM exam_mark AS gd
LEFT JOIN exam_mark AS bd ON bd.student_id = gd.student_id AND bd.mark = 2
-- у кого есть 4, 5 но нет 2
WHERE (gd.mark IN (4, 5)) AND (bd.student_id IS NULL)