Преобразование нескольких строк в одну строку в зависимости от условия - PullRequest
0 голосов
/ 12 июня 2019

Ниже приведены данные из моей таблицы.

Name     Starttime            Endtime
ABC      2019-06-12 01:52:46  2019-06-12 02:52:46
DEF      2019-06-12 02:52:46  2019-06-12 03:52:46
GHI      2019-06-12 03:52:46  2019-06-12 04:52:46
JKL      2019-06-12 04:52:46  2019-06-12 05:52:46
ABC      2019-06-11 01:22:46  2019-06-11 02:22:46
DEF      2019-06-11 02:22:46  2019-06-11 03:22:46
GHI      2019-06-11 03:22:46  2019-06-11 04:22:46
JKL      2019-06-11 04:22:46  2019-06-11 05:22:46

Требуемый выход

DATE        STARTTIME            ENDTIME
2019-06-12  2019-06-12 01:52:46  2019-06-12 03:52:46

Время начала моего выхода - это время начала имени 'ABC', а время окончания - это время окончания имени 'DEF'.Самые последние данные должны быть получены.Мне нужны только имена ABC и DEF.

1 Ответ

0 голосов
/ 12 июня 2019

Если я правильно понимаю, вам просто нужна некоторая условная агрегация:

max(case when name = 'ABC' then StartTime else null end) as StartTime, max(Case when name = 'DEF' the EndTime else null end) as EndTime

...