[Решено] Вопрос по запросу поиска

Тема в разделе "Базы Данных", создана пользователем alex_storm, 30 янв 2016.

Статус темы:
Закрыта.
  1. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Есть задача найти производителя 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'
     
    skiv14 нравится это.
  2. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Как правильно задать вопрос, не могу понять
     
  3. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    В конечном итоге, я прихожу к запросу типа
    Код:
    SELECT DISTINCT maker
    FROM product
    WHERE type='PC'
    
    Он возвращает такой же результат как и выше стоящие (
     
  4. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Код:
        SELECT DISTINCT maker
        FROM product
        WHERE type = 'pc' AND
              maker NOT IN (SELECT maker
                            FROM product
                            WHERE type = 'laptop'
                            ) ; 
    Решенине оказалось простым, не подумал даже повторно дать запрос в эту таблицу на проверку
     
  5. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
    Код:
    SELECT maker
    FROM product
    WHERE type='PC'
    
    Почему такой запрос у тебя возвращает с laptop? не понятно
     
Статус темы:
Закрыта.