Итак, у меня есть рабочий порядок на языке Postgresql plpg sql, который выглядит примерно так:
....
order by (CASE WHEN _sortcol='col_1' and _sortdir='desc' THEN col_1 end) desc NULLS LAST,
(CASE WHEN _sortcol='col_2' and _sortdir='desc' THEN col_2 end) desc NULLS LAST,
(CASE WHEN _sortcol='col_3' and _sortdir='desc' THEN col_3 end) desc NULLS LAST,
......
(CASE WHEN _sortcol='col_N' and _sortdir='asc' THEN col_N end) NULLS LAST,
(CASE WHEN _sortcol='col_N1' and _sortdir='asc' THEN col_N1 end) NULLS LAST,
Все работает нормально, но этот порядок по пунктам - огромный беспорядок, пока я есть большая таблица с большим количеством столбцов. Есть ли место для улучшения и оптимизации кода, чтобы этот код занимал гораздо меньше визуального пространства?