У меня есть набор таблиц, включая Reps, Teams, Errors, Error Log. Журнал ошибок содержит все ошибки, сделанные репутацией. Каждый представитель команды в команде. Каждый rep имеет идентификатор края (номер пользователя) Каждый тип ошибки имеет значение точек (хранится в таблице ошибок).ACCESS SQL> SELECT CASE HELP
У меня есть этот запрос в Access к общей сумме значения баллов для каждого повторения в команде между двумя датами:
SELECT
Reps.Forename
, Reps.Surname
, [Error Log].[Edge ID]
, Teams.[Team Code]
, Sum(Errors.Points) AS SumOfPoints
FROM Teams
INNER JOIN (
Reps INNER JOIN (
Errors INNER JOIN [Error Log]
ON Errors.[E&CD code] = [Error Log].[E&CD Code])
ON Reps.[Edge ID] = [Error Log].[Edge ID])
ON Teams.[Team Code] = Reps.[Team Code]
WHERE
((([Error Log].[Date Logged]) Between [Error logged from: (dd/mm/yyyy)] And [Error logged to: (dd/mm/yyyy)])
AND
((Teams.[Team Code])=[Team Code:]))
GROUP BY
Reps.Forename
, Reps.Surname
, [Error Log].[Edge ID]
, Teams.[Team Code]
ORDER BY
Sum(Errors.Points) DESC;
Я хочу, чтобы дать каждому повторению сорта в зависимости от их количества точек, где: 0-4 балла = класс 3, 5-9 = 4 и 10+ = 5
Как я могу это кодировать (возможно, SELECT CASE)? Я пробовал последний час, но не могу понять!
Спасибо за любую помощь.
+1 это намного красивее, чем мое решение IIF. вложенные условности для того, что он хочет, было бы ужасно, чтобы перечитать –
+1 вы узнаете что-то новое каждый день! – Andomar
Почему, почему вы не назвали это Select, MS! Сколько часов я потратил на поиск этой функции в справке ... – mavnn