Мы можем гарантировать, что запрос вернет строку, если запрос гарантирует это.
Вот пример, который извлекает ровно одну строку из встроенного представления i
.
Затем внешнее соединение с другим встроенным представлением s
, которое получает отдельный список значений.
А потом и еще одно внешнее соединение с table1
.
SELECT t.a
, COUNT(t.b) AS cnt
FROM ( SELECT 1 AS n ) i
LEFT
JOIN ( SELECT DISTINCT r.b
FROM table2 r
) s
LEFT
JOIN table1 t
ON t.b = s.b
AND t.dated >= ...
GROUP
BY i.n
, t.a
Если встроенное представление s
не возвращает строк, запрос должен вернуть
a cnt
---- ---
NULL 0