KZ
Size: a a a
KZ
mm
mm
KZ
АВ
АВ
АА
R
AN
РЖ
JS
schedule.get_employee_job_available_intervals
перенести в lateral. Или обернуть (schedule.get_employee_job_available_intervals(…)).*
ДТ
РЖ
ДТ
JS
SELECT
a.available_interval_left_part AS available_intervals
FROM splitted_intervals a
LEFT OUTER JOIN splitted_intervals b ON
a.available_interval_left_part <> b.available_interval_left_part AND
a.available_interval_left_part @> b.available_interval_left_part
GROUP BY a.available_interval_left_part
HAVING NOT bool_or(
COALESCE(
a.available_interval_left_part @>
CASE
WHEN
isempty( b.available_interval_left_part )
THEN
null
ELSE
b.available_interval_left_part
END, false ) )
M
SELECT
a.available_interval_left_part AS available_intervals
FROM splitted_intervals a
LEFT OUTER JOIN splitted_intervals b ON
a.available_interval_left_part <> b.available_interval_left_part AND
a.available_interval_left_part @> b.available_interval_left_part
GROUP BY a.available_interval_left_part
HAVING NOT bool_or(
COALESCE(
a.available_interval_left_part @>
CASE
WHEN
isempty( b.available_interval_left_part )
THEN
null
ELSE
b.available_interval_left_part
END, false ) )
JS
tstzrange( something ) AS available_interval_left_part,
tstzrange( something ) AS busy_interval,
tstzrange( something ) AS available_interval_right_part
JS
R
VY
id
как название колонки.