Упражнение 55 (подсказки и решения)
Упражнение 55 (подсказки и решения)
Здесь мы приводим решение, которое верно (хотя и излишне) учитывает корабли из таблицы Outcomes.
SELECT t1.class, MIN(b.launched)
FROM (SELECT name, class
FROM Ships
UNION
SELECT ship, class
FROM Outcomes JOIN
Classes ON ship = class AND
ship NOT IN(SELECT name
FROM Ships
)
) t1 LEFT JOIN
Ships b ON t1.class = b.class
GROUP BY t1.class;
mssql
🚫
[[ error ]]
[[ column ]] |
---|
[[ value ]] |
Единственная ошибка этого решения заключается в том, что не учтена ситуация, когда имеется класс, для которого нет кораблей в текущем состоянии базы данных. Заметим, что это допускается схемой, имеющей связь «один-ко-многим» между таблицами Classes и Ships.