У меня есть таблица транзакций, которая содержит следующие столбцы: MemberID, TransactionID, Date, MethodOfPayment + + много других столбцов
Первичный ключ состоит из MemberID и TransactionID.Мне нужен запрос, который группирует эти строки по MemberID на последнюю дату.Это легко, но дополнительно мне нужны остальные столбцы для последней даты, такие как MethodOfPayment.Я ищу самый простой способ сделать это.
Я знаю, что это один из способов, которым я мог бы это сделать, но запрос становится действительно длинным, если мне нужно включить подзапрос для каждого столбца, который у меня есть.Моя интуиция говорит мне, что должен быть лучший путь.
SELECT
MemberID,
MAX(Date) AS Date,
(
SELECT TOP(1) MethodOfPayment
FROM Transactions
WHERE MemberID = t.MemberID
ORDER BY Date DESC
) AS MethodOfPayment
FROM Transactions t
GROUP BY MemberID