Captain
@Captain

Как сделать сортировку по 2 датам?

Есть таблица с полями
f1, f2, f3, f4, f5, date1, date2

Мне нужно сделать так, чтобы записи шли подряд с выборкой по date2, если она заполнена, иначе попадали бы в выборку с датой date1 (она заполнена всегда). И вывести их за каждое число. Соответственно, второй вопрос, как при выводе понять, что кончилась одна выборка и началась следующая?

Пример данных
1, 2, 1, 8 5, 2022-11-11, ''
1, 2, 4, 4, 1, 2022-11-11, 2022-11-12
1, 6, 3, 4, 5, 2022-11-12, ''
1, 7, 4, 6, 5, 2022-11-13, ''
1, 5, 2 6, 7, 2022-11-11, 2022-11-13
1, 2, 4, 4, 5, 2022-11-11, 2022-11-12
1, 3, 4, 4, 5, 2022-11-11, 2022-11-11


надо вывести их так
1, 2, 1, 8 5, 2022-11-11
1, 3, 4, 4, 5, 2022-11-11

1, 2, 4, 4, 1, 2022-11-12
1, 6, 3, 4, 5, 2022-11-12
1, 2, 4, 4, 5, 2022-11-12

1, 7, 4, 6, 5, 2022-11-13
1, 5, 2 6, 7, 2022-11-13
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
Если показанные исходные точны, то
ORDER BY COALESCE(NULLIF(date2, ''), date1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы