에 의해 GROUP을 사용하여 T-SQL에서 같은 행의 여러 열을 반환합니다 : MEMBERID, 는 TransactionId, 날짜, 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
사용하는 SQL 서버의 버전은 SQL Server 2005에있는 경우, 또는 또 다른 방법은? – Lamak
SQL Server 2008 R2 –