SQL-запрос для сортировки на основе двух значений столбца (создание вычисляемого поля в SQL)

В настоящее время я портирую SQL-запросы в PHP для непосредственного взаимодействия с БД доступа.

Что мне нужно сделать, это отсортировать поле, если значение столбца 1 больше нуля, а если нет, отсортировать поле на основе текстового описания столбца 2. У меня уже есть это как вычисляемое поле в Access отсортировано по возрастанию и скрыто, но прямой порт на SQL не работает.

В Access это выглядит так:

IIf((Round(SLA.SLA-SLAMins)/60,2))>0,'A'
& Format(999999-(Round(SLA.SLA-SLAMins)/60,2)),'000000.00'),'B000000.00')
& Left([SrFreetext],10)

Любые идеи о том, как я могу сохранить рассчитанное поле для целей сортировки?

0

Решение

Я обычно решаю это через союз. Без схемы я не могу дать вам точный ответ, но это что-то вроде:

select *,
1 as sortingColumn
from  tableName
where Round(SLA.SLA-SLAMins)/60,2))>0
union
select *,
0 as sortingColumn
from   tableName
where  Round(SLA.SLA-SLAMins)/60,2)) <= 0
order by sortingColumn, textDescriptionField
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]