Запрос с сортировкой на отличников и хорошистов в access
Как сделать так, чтобы на первых строках в access были отличники и только потом хорошисты? Предлагают с помощью функций сортировать, но вопрос - как?
Код SQL:
SELECT
АНКЕТЫ.ФАМИЛИЯ,
ОЦЕНКИ.ОЦЕНКА_1,
ОЦЕНКИ.ОЦЕНКА_2,
ОЦЕНКИ.ОЦЕНКА_3,
ИТОГИ.ЗАЧИСЛЕНИЕ
FROM
(ОЦЕНКИ
INNER JOIN АНКЕТЫ ON
ОЦЕНКИ.РЕГ_НОМ = АНКЕТЫ.РЕГ_НОМ)
INNER JOIN ИТОГИ ON
ОЦЕНКИ.РЕГ_НОМ = ИТОГИ.РЕГ_НОМ
WHERE
(((ОЦЕНКИ.ОЦЕНКА_1) = 5
OR (ОЦЕНКИ.ОЦЕНКА_1) = 4)
AND ((ОЦЕНКИ.ОЦЕНКА_2) = 5
OR (ОЦЕНКИ.ОЦЕНКА_2) = 4)
AND ((ОЦЕНКИ.ОЦЕНКА_3) = 5
OR (ОЦЕНКИ.ОЦЕНКА_3) = 4))
ORDER BY
АНКЕТЫ.ФАМИЛИЯ;


Ответы (1 шт):
Автор решения: drakonoved
→ Ссылка
В данном случае можно сортировать по общему баллу по убыванию:
SELECT
АНКЕТЫ.ФАМИЛИЯ,
ОЦЕНКИ.ОЦЕНКА_1,
ОЦЕНКИ.ОЦЕНКА_2,
ОЦЕНКИ.ОЦЕНКА_3,
(ОЦЕНКИ.ОЦЕНКА_1
+ ОЦЕНКИ.ОЦЕНКА_2
+ ОЦЕНКИ.ОЦЕНКА_3) AS ОБЩИЙ_БАЛЛ
ИТОГИ.ЗАЧИСЛЕНИЕ
FROM
(ОЦЕНКИ
INNER JOIN АНКЕТЫ ON
ОЦЕНКИ.РЕГ_НОМ = АНКЕТЫ.РЕГ_НОМ)
INNER JOIN ИТОГИ ON
ОЦЕНКИ.РЕГ_НОМ = ИТОГИ.РЕГ_НОМ
WHERE
(((ОЦЕНКИ.ОЦЕНКА_1) = 5
OR (ОЦЕНКИ.ОЦЕНКА_1) = 4)
AND ((ОЦЕНКИ.ОЦЕНКА_2) = 5
OR (ОЦЕНКИ.ОЦЕНКА_2) = 4)
AND ((ОЦЕНКИ.ОЦЕНКА_3) = 5
OR (ОЦЕНКИ.ОЦЕНКА_3) = 4))
ORDER BY
ОБЩИЙ_БАЛЛ DESC;