понедельник, 20 мая 2019 г.

Использование PARTITION LEFT JOIN


Есть таблица с перечнем временных зон (days):



Есть данные о начислениях по абоненту по временным зонам (usrs):









Необходимо получить результат: если начисления по абоненту по данной временной зоне не было, то выдавать название абонента, временную зону и начисление, равное 0. Т.е.:











Решение:

SELECT u.ur,
       d.name,
       nvl(u.n, 0) as val
FROM   days d
LEFT   JOIN usrs u PARTITION BY(u.ur) ON d.name = u.d;

Комментариев нет:

Отправить комментарий