Как объединить дату начала и окончания записей в SQL

У меня есть пример набора данных ниже:

Я БЫРольДАТА НАЧАЛАДАТА ОКОНЧАНИЯ
1А2022-02-012022-02-03
1А2022-02-032022-02-10
1А2022-02-109000-12-31
2Б2022-02-012022-02-03
2А2022-02-032022-02-04
2Б2022-02-042022-02-11

Я хочу сгруппировать их по ID, ROLE, START_DATE и END_DATE. Так это выглядит ниже: Икс

Я БЫРольДАТА НАЧАЛАДАТА ОКОНЧАНИЯ
1А2022-02-019000-12-31
2Б2022-02-012022-02-03
2А2022-02-032022-02-04
2Б2022-02-042022-02-11

Как я могу этого добиться?

Спасибо

Какую базу данных вы используете? пометить правильную базу данных.

Amit Verma 18.03.2022 06:02
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
59
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Простая задача для NORMALIZE от Teradata:

with cte as
 ( -- works on PERIODs only
   select NORMALIZE -- combine overlapping periods
      ID, Role, period(START_DATE, END_DATE) as pd
   from mytable
 )
-- split period back into start/end
select ID, Role, begin(pd) as START_DATE, end(pd) as END_DATE
from cte

Идеальный! Отлично, чтобы изучить эту функцию

Spencer 18.03.2022 19:55

Другие вопросы по теме