powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Обучение на sql-ex.ru
4 сообщений из 4, страница 1 из 1
Обучение на sql-ex.ru
    #36388280
Димка_я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Салют.

делаю 14 задачу, условие такое:
Краткая информация о базе данных "Компьютерная фирма":

Схема БД состоит из четырех таблиц:
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.

Задание: 14
Для таблицы Product получить результирующий набор в виде таблицы со столбцами maker, pc, laptop и printer, в которой для каждого производителя требуется указать, производит он (yes) или нет (no) соответствующий тип продукции.
В первом случае (yes) указать в скобках без пробела количество имеющихся в наличии (т.е. находящихся в таблицах PC, Laptop и Printer) различных по номерам моделей соответствующего типа.

Отвечаю:
SELECT a.maker,
REPLACE(('yes('+REPLACE((SELECT COUNT(DISTINCT b.model) FROM product c JOIN pc b ON b.model=c.model WHERE c.maker=a.maker), '0', 'no')+')'), 'yes(no)', 'no') pc,

REPLACE(('yes('+REPLACE((SELECT COUNT(DISTINCT b.model) FROM product c JOIN laptop b ON b.model=c.model WHERE c.maker=a.maker), '0', 'no')+')'), 'yes(no)', 'no') laptop1,

REPLACE(('yes('+REPLACE((SELECT COUNT(DISTINCT b.model) FROM product c JOIN printer b ON b.model=c.model WHERE c.maker=a.maker), '0', 'no')+')'), 'yes(no)', 'no') printer1

FROM product a GROUP BY maker

Пишет: Неверно.
Ваш запрос вернул правильные данные на основной базе, но не прошел тест на проверочной базе.
* Несовпадение данных (2)

Уже пол часа долблюсь на задаче, не могу понять почему не проходит на проверочной базе. Подскажите
...
Рейтинг: 0 / 0
Обучение на sql-ex.ru
    #36389458
--__Александр__--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пол часа - это еще мало. Думайте еще.



open your mind
...
Рейтинг: 0 / 0
Обучение на sql-ex.ru
    #36396116
bulko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделай CASE со связанными подзапросами.
Те, CASE на наличие продукции. В THEN пишем связанный подзапрос на подсчет количества.
...
Рейтинг: 0 / 0
Обучение на sql-ex.ru
    #36408553
Denis V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решал-решал задачи на sql-ex. Прорешал все задачи первого этапа, кроме последней по DML, где надо избавиться от лишних повторяющихся пробелов между словами... В общем, бросил это занятие. Как-то заходил посмотреть на этот сайт, что там творится. Удручающая картина: много задач поменяли, так что то, что я уже решал - не зачёт, надо решать по новой. Да только у меня охоту отбивает то, что у них у всех учебных баз такая кривая структура... да и большинство задач из разряда нереальных...
Это я так, мысли вслух ;-)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Сертификация и обучение [игнор отключен] [закрыт для гостей] / Обучение на sql-ex.ru
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]