0
我有一個下面給出的存儲過程,我必須動態地對結果進行排序,但它給出了語法錯誤。請告訴我正確的方式做到這一點按條款排序的多個case表達式SQL Server
SELECT *
FROM [TableName]
ORDER BY CASE @OrderBy
WHEN 'DESC'
THEN CASE @Sort
WHEN 'CreatedOn'
THEN CreatedOn
WHEN 'EmployeeName'
THEN EmployeeName
WHEN 'EmployeeCode'
THEN EmployeeCode
WHEN 'Country'
THEN Country
WHEN 'Location'
THEN Location
WHEN 'Skill'
THEN Skill
WHEN 'ProcessName'
THEN ProcessName
WHEN 'RoleName'
THEN RoleName
WHEN 'JoiningDate'
THEN JoiningDate
ELSE CreatedOn
END DESC
ELSE CASE @Sort
WHEN 'CreatedOn'
THEN CreatedOn
WHEN 'EmployeeName'
THEN EmployeeName
WHEN 'EmployeeCode'
THEN EmployeeCode
WHEN 'Country'
THEN Country
WHEN 'Location'
THEN Location
WHEN 'Skill'
THEN Skill
WHEN 'ProcessName'
THEN ProcessName
WHEN 'RoleName'
THEN RoleName
WHEN 'JoiningDate'
THEN JoiningDate
ELSE CreatedOn
END ASC
END
表達式,而不是case語句... – jarlh
@jarlh correct。更正了問題 – VIVEK
如果您發佈嘗試執行查詢時遇到的語法錯誤,將會有所幫助。 – fez