보고서에 대해 정의 된 그룹화가있는 결과 집합이 있습니다. 위치가 지정되지 않았으므로 "Grid_Group"이 없을 가능성이 있습니다. 이 경우에는 99라는 값을 할당합니다.이 순서는 다음을 제외하고 올바르게 작동합니다. 99는 항상 첫 번째이며 마지막으로 사용해야합니다 (내린 경우 맨 아래에 있음). 내가 Grid_Group에 의해 주문 내에서뿐만 아니라 선택 측면에 캐스팅을 시도했지만 둘 다 맨 위에 99와 동일한 결과가 있습니다. (Sql server 2008)사례 값 선택 순서가 올바르게 정렬되지 않음.
다음은 스 니펫이며 다른 모든 불필요한 열은 제거합니다.
SELECT s.SessionNumber,Position.PositionName,(Select CASE when dbo.Position.Grid_Group is null THEN 99 ELSE dbo.Position.Grid_Group END) as Grid_Group
FROM dbo.USession AS us Left Outer JOIN
dbo.Position ON us.PositionId = dbo.Position.PositionId FULL OUTER JOIN
dbo.Sessions AS s ON us.SessionId = s.SessionId
ORDER BY S.SessionNumber, dbo.Position.Grid_Group
생각 하시겠습니까?
99를 적용 할 CTE가 없으며 '주문'에 '사례'도 없습니다. 그래서 아마 NULL을 주문할 것입니다. BTW에서는 ['ISNULL'] (http://msdn.microsoft.com/en-us/library/ms184325.aspx) 또는 ['COALESCE'] (http://msdn.microsoft.com/en-us)를 사용할 수 있습니다. /library/ms190349.aspx)를 사용하여 null을 지정할 수 있습니다. – Rup