ほとんど/すべての DBMS にまたがる一般的なアプローチでは、これを使用できます。
SELECT t.ID,
t.Name,
CASE WHEN t.Red = t.Total THEN 'Only Red condition'
WHEN t.Red > 0 AND t.Blue > 0 THEN 'Red and blue condition'
ELSE 'Other condition'
END AS CaseCondition
FROM ( SELECT Table1.ID,
Table1.Name,
COUNT(CASE WHEN Table2.Status = 'Red' THEN 1 END) AS Red,
COUNT(CASE WHEN Table2.Status = 'Blue' THEN 1 END) AS Blue,
COUNT(Table2.Status) AS Total
FROM Table1
LEFT JOIN Table2
ON Table1.ID = Table2.ID
GROUP BY Table1.ID, Table1.Name
) t
DBMS が PIVOT をサポートしている場合 (可能な値は red と blue のみ)、次のようなものを使用できます。
SELECT ID,
Name
CASE WHEN pvt.Red > 0 AND pvt.Blue = 0 THEN 'Only Red condition'
WHEN t.Red > 0 AND t.Blue > 0 THEN 'Red and blue condition'
ELSE 'Other condition'
END AS CaseCondition
FROM Table1
LEFT JOIN Table2
ON Table1.ID = Table2.ID
PIVOT
( COUNT(Table2.ID)
FOR Table2.Status IN ([Red], [Blue])
) pvt