Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
 задачник sql-ex - сравнение решений  [new]
ayratmsk
Member

Откуда:
Сообщений: 2
есть такой популярный сайт задачник по sql-ex.ru

для проверки знаний там можно составлять запросы по условию задачи
например, условие такое:
https://www.sql-ex.ru/learn_exercises.php#answer_ref (16-я задачка)

PC(code, model, speed, ram, hd, cd, price)
Найдите пары моделей PC, имеющих одинаковые скорость и RAM. В результате каждая пара указывается только один раз, т.е. (i,j), но не (j,i), Порядок вывода: модель с большим номером, модель с меньшим номером, скорость и RAM

мое решение делает правильную выборку

SELECT pc1.model, pc2.model, pc1.speed, pc1.ram FROM pc AS pc1, pc AS pc2 WHERE pc1.speed=pc2.speed AND pc1.ram=pc2.ram AND pc1.model>pc2.model ORDER BY pc1.model, pc2.model, pc1.speed, pc1.ram DESC

но не признается системой как верное. а верное, по мнению составителей, такое

SELECT P.model, L.model, P.speed, P.ram
FROM PC P JOIN
(SELECT speed, ram
FROM PC
GROUP BY speed, ram
HAVING SUM(speed)/speed = 2 AND
SUM(ram)/ram = 2
) S ON P.speed = S.speed AND
P.ram = S.ram JOIN
PC L ON L.speed = S.speed AND
L.ram = S.ram AND
L.model < P.model;

Хотя оно мне кажется более громоздким из-за вложенного запроса

Поясните пожалуйста в чем я не прав?

Сообщение было отредактировано: 11 ноя 20, 21:34
11 ноя 20, 21:37    [22230461]     Ответить | Цитировать Сообщить модератору
 Re: задачник sql-ex - сравнение решений  [new]
ayratmsk
Member

Откуда:
Сообщений: 2
ayratmsk, upd. в правильном решении
нужно было DISTINCT добавить для устранения вывода дублей
11 ноя 20, 23:02    [22230485]     Ответить | Цитировать Сообщить модератору
 Re: задачник sql-ex - сравнение решений  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 116173
Помогите решить 3 задания с сайта www.sql-ex.ru для сдачи лабораторной работы
12 ноя 20, 00:19    [22230504]     Ответить | Цитировать Сообщить модератору
Все форумы / Вопрос-Ответ Ответить