Я получил таблицу с именем work_schema_items
, которая содержит пару столбцов, и важным для этого вопроса является рабочий день столбца varchar. Содержит следующие значения:
end_time start_time weekday
12:00 06:00 Monday
14:30 12:30 Monday
15:00 14:45 Monday
18:00 15:00 Monday
21:00 18:30 Monday
23:00 21:15 Monday
23:59 23:15 Monday
12:00 06:00 Tuesday
14:30 12:30 Tuesday
15:00 14:45 Tuesday
18:00 15:00 Tuesday
21:00 18:30 Tuesday
23:00 21:15 Tuesday
23:59 23:15 Tuesday
12:00 06:00 Wednesday
14:30 12:30 Wednesday
15:00 14:45 Wednesday
18:00 15:00 Wednesday
21:00 18:30 Wednesday
23:00 21:15 Wednesday
23:59 23:15 Wednesday
12:00 06:00 Thursday
14:30 12:30 Thursday
15:00 14:45 Thursday
18:00 15:00 Thursday
21:00 18:30 Thursday
23:00 21:15 Thursday
23:59 23:15 Thursday
12:00 06:00 Friday
14:30 12:30 Friday
15:00 14:45 Friday
18:00 15:00 Friday
21:00 18:30 Friday
23:00 21:15 Friday
23:59 23:15 Friday
Когда я запускаю следующий sql запрос:
select
t.date,
t.weekday,
work_schema_items.weekday
from (
select
dd::date as date,
to_char(dd, 'Day')::varchar as weekday
from
generate_series('2019-12-08'::timestamp, '2019-12-16'::timestamp, '1 day'::interval) dd
) as t
left join work_schema_items on t.weekday = work_schema_items.weekday
order by date
Я получаю такой результат:
2019-12-08 Sunday NULL
2019-12-09 Monday NULL
2019-12-10 Tuesday NULL
2019-12-11 Wednesday Wednesday
2019-12-11 Wednesday Wednesday
2019-12-11 Wednesday Wednesday
2019-12-11 Wednesday Wednesday
2019-12-11 Wednesday Wednesday
2019-12-11 Wednesday Wednesday
2019-12-11 Wednesday Wednesday
2019-12-12 Thursday NULL
2019-12-13 Friday NULL
2019-12-14 Saturday NULL
2019-12-15 Sunday NULL
2019-12-16 Monday NULL
Что я Я ожидаю, чтобы получить значение дня недели для каждого дня, как я делаю со средой. Почему только среда правильно присоединилась? Что я делаю не так?
Спасибо