Упражнение 70 (подсказки и решения)

Здесь мы хотим рассмотреть вполне прозрачное решение, содержащее две незначительные ошибки. Вот оно (см. комментарии):

SELECT q.battle
FROM (
    --Определяем корабли из Ships участвовавшие в битвах
    SELECT Outcomes.battle, Outcomes.ship, Classes.country
    FROM Classes 
        INNER JOIN Ships ON Classes.class = Ships.class 
        INNER JOIN Outcomes ON Ships.name = Outcomes.ship
    UNION
    --Определяем головные корабли из Outcomes
    SELECT Outcomes.battle, Outcomes.ship, Classes.country
    FROM Outcomes 
        INNER JOIN Classes ON Outcomes.ship = Classes.class
    ) as q
GROUP BY q.battle
HAVING COUNT(q.country) >= 3;
mssql
🚫
[[ error ]]
[[ column ]]
[[ value ]]

Надеемся, что вы без труда их найдете и исправите.

Вернуться к обсуждению упражнения 70

Решить задачу на SQL-EX.RU