У меня есть запрос итогов (тот, на котором я нажал кнопку итогов, и у него есть столбцы «сгруппировать по») в Access 2007. Большинство столбцов в порядке ... группируются по столбцам, максимальным столбцам, минимальным столбцам и т. Д.Однако для некоторых из них я хочу извлечь только последнее непустое (не "" или нулевое) значение строкового столбца.
Вот пример того, как выглядит мой SQL:
SELECT Min(Duplicates.AttendedODBefore) AS AttendedODBefore,
Min(Duplicates.ContactByPost) As ContactByPost,
Last(Duplicates.PlannedStart) As PlannedStart,
Min(Duplicates.AccessibilityRequirements) AS AccessibilityRequirements,
Last(Duplicates.UcasNumber) As UcasNumber
-- ^^^^
FROM DuplicateStudents As Duplicates
GROUP BY
Duplicates.ID
Выделенное выражение - это то, которое я хочу изменить на последнее непустое поле.Существует ли специфичное для Access или простое выражение SQL, которое будет делать это?
Edit: Оказывается, что Min()
и Max()
работают со строковыми значениями и игнорируют нулевые значения, принимаяпервое и последнее значения в алфавитном порядке.Это не идеально, потому что это не гарантирует, что выбранное значение является последним, но это лучше, чем просто загрузка нулей, что может дать использование Last()
.