Задать вопрос
  • Помощь в решении задачи 96, Sql-ex?

    Adamos
    @Adamos
    Полагая, что все-таки имеется в виду "любой красный баллончик, который красил хоть один квадрат с синим и при этом красил где угодно еще, даже еще раз на этом же квадрате" - вот такое, топорное:
    SELECT DISTINCT v1.V_NAME FROM utV AS v1
    LEFT JOIN utB AS b1 ON v1.V_ID = b1.B_V_ID AND v1.V_COLOR = 'R'
    LEFT JOIN utB AS b2 ON b1.B_Q_ID = b2.B_Q_ID AND b1.B_V_ID != b2.B_V_ID
    LEFT JOIN utV AS v2 ON v2.V_ID = b2.B_V_ID AND v2.V_COLOR = 'B'
    WHERE v2.V_ID IS NOT NULL
    AND v1.V_ID IN 
    (SELECT B_V_ID FROM utB GROUP BY B_V_ID HAVING COUNT(1) > 1);
    Ответ написан
    3 комментария