Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Задача по SQL

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> Задача по SQL
Имя
Сообщение << Старые топики   Новые топики >>
Задача по SQL - 2011-07-13 13:43:13.550000   
ololo__schoolboy

Сообщений: 118
Оценки: 0
Присоединился: 2011-06-14 12:42:52.573333
Решаю задачу на sql-ex.ru
quote:

Краткая информация о базе данных "Компьютерная фирма":

Схема БД состоит из четырех таблиц:
Product(maker, model, type)
PC(code, model, speed, ram, hd, cd, price)
Laptop(code, model, speed, ram, hd, screen, price)
Printer(code, model, color, type, price)
Таблица Product представляет производителя (maker), номер модели (model) и тип ('PC' - ПК, 'Laptop' - ПК-блокнот или 'Printer' - принтер). Предполагается, что номера моделей в таблице Product уникальны для всех производителей и типов продуктов. В таблице PC для каждого ПК, однозначно определяемого уникальным кодом – code, указаны модель – model (внешний ключ к таблице Product), скорость - speed (процессора в мегагерцах), объем памяти - ram (в мегабайтах), размер диска - hd (в гигабайтах), скорость считывающего устройства - cd (например, '4x') и цена - price. Таблица Laptop аналогична таблице РС за исключением того, что вместо скорости CD содержит размер экрана -screen (в дюймах). В таблице Printer для каждой модели принтера указывается, является ли он цветным - color ('y', если цветной), тип принтера - type (лазерный – 'Laser', струйный – 'Jet' или матричный – 'Matrix') и цена - price.

quote:

Задание:&nbsp;23
Найдите производителей, которые производили бы как ПК
со скоростью не менее 750 МГц, так и ПК-блокноты со скоростью не менее 750 МГц.
Вывести: Maker

Вот, что у меня получилось
SELECT DISTINCT maker FROM product WHERE model IN ( SELECT model FROM pc WHERE NOT speed&lt;750 UNION SELECT model FROM laptop WHERE NOT speed&lt;750 ) /*GROUP BY maker, type HAVING в столбце maker такие же ячейки*/ Данный код делает выборку производителей которые производят ПК ИЛИ ПК блокноты, как сделать, чтобы он делал выборку производящих ПК И ПК блокноты

вместо
quote:

HAVING в столбце maker такие же ячейки
нужно написать, что-то на sql
Post #: 1
RE: Задача по SQL - 2011-07-13 15:41:19.310000   
ololo__schoolboy

Сообщений: 118
Оценки: 0
Присоединился: 2011-06-14 12:42:52.573333
SELECT DISTINCT T.maker FROM ( SELECT maker, type FROM product WHERE model IN &nbsp;&nbsp; (SELECT model FROM laptop WHERE NOT speed&lt;750) ) T INNER JOIN ( SELECT maker FROM product WHERE model IN &nbsp;&nbsp; (SELECT model FROM pc WHERE NOT speed&lt;750) ) T2 ON T.maker = T2.maker
это вам не кавычки пАдставлять
Post #: 2
Страниц:  [1]
Все форумы >> [Прочее] >> Задача по SQL







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.