Tsql 尝试使用MAX column解决方案将多行汇总为一行,但不起作用

Tsql 尝试使用MAX column解决方案将多行汇总为一行,但不起作用,tsql,Tsql,以下是我的SQL Server结果集: 我正试图在第一排获取公司车辆2信息。任何帮助/指导都将不胜感激 以下是我使用StackOverflow中的MAX解决方案尝试的SQL代码: SELECT tpcbpv1.PolicySysID, tpcbpv1.[Policy Number] ,CASE WHEN RN = 1 THEN MAX(tpcbpv1.PolicyVehicleSysID) END as [Company Vehicle Number 1]

以下是我的SQL Server结果集:

我正试图在第一排获取公司车辆2信息。任何帮助/指导都将不胜感激

以下是我使用StackOverflow中的MAX解决方案尝试的SQL代码:

SELECT tpcbpv1.PolicySysID, tpcbpv1.[Policy Number] 
    ,CASE 
        WHEN RN = 1 THEN MAX(tpcbpv1.PolicyVehicleSysID)
    END as [Company Vehicle Number 1]
    ,CASE 
        WHEN RN = 1 THEN MAX(tpcbpv1.vYear)
    END as [Vehicle Year 1]
    ,CASE 
        WHEN RN = 2 THEN MAX(tpcbpv1.PolicyVehicleSysID)
    END as [Company Vehicle Number 2]
    ,CASE 
        WHEN RN = 2 THEN MAX(tpcbpv1.vYear)
    END as [Vehicle Year 2]

FROM #tempPolicyCoverageByPolicyVehicle tpcbpv1
WHERE PolicySysID = 179478
GROUP BY tpcbpv1.PolicySysID, tpcbpv1.[Policy Number], RN
ORDER BY PolicySysID asc 

RN
groupby
中删除,并将case语句嵌套在
max()中


@梅林达总是乐于助人
SELECT tpcbpv1.PolicySysID
     , tpcbpv1.[Policy Number] 
     , max(CASE WHEN RN = 1 THEN tpcbpv1.PolicyVehicleSysID END ) as [Company Vehicle Number 1] 
     , max(CASE WHEN RN = 1 THEN tpcbpv1.vYear END)               as [Vehicle Year 1]
     , max(CASE WHEN RN = 2 THEN tpcbpv1.PolicyVehicleSysID END ) as [Company Vehicle Number 2]
     , max(CASE WHEN RN = 2 THEN tpcbpv1.vYear END)               as [Vehicle Year 2]
FROM #tempPolicyCoverageByPolicyVehicle tpcbpv1
WHERE PolicySysID = 179478
GROUP BY tpcbpv1.PolicySysID, tpcbpv1.[Policy Number]
ORDER BY PolicySysID asc