Есть задача найти производителя pc, который выпускает исключительно pc, без учета ноутбуков. Пробовал таким запросом, он все равно возвращает производителя, который может быть в других таблицах. Код: SELECT DISTINCT p.maker FROM ( SELECT DISTINCT model FROM PC UNION SELECT DISTINCT model FROM Laptop UNION SELECT DISTINCT model FROM printer ) AS a JOIN product p ON a.model = p.model WHERE p.type NOT IN('laptop','printer') Или таким таким запросом Код: SELECT DISTINCT p.maker FROM product AS p WHERE p.model NOT IN( SELECT DISTINCT model FROM laptop UNION SELECT DISTINCT model FROM printer) AND p.type='PC'
В конечном итоге, я прихожу к запросу типа Код: SELECT DISTINCT maker FROM product WHERE type='PC' Он возвращает такой же результат как и выше стоящие (
Код: SELECT DISTINCT maker FROM product WHERE type = 'pc' AND maker NOT IN (SELECT maker FROM product WHERE type = 'laptop' ) ; Решенине оказалось простым, не подумал даже повторно дать запрос в эту таблицу на проверку
Код: SELECT maker FROM product WHERE type='PC' Почему такой запрос у тебя возвращает с laptop? не понятно