我正在使用以下存儲過程,以便從迄今爲止工作正常的表中獲取項目。 有沒有辦法改變這個,以便如果col3等於「n/a」,那麼這些值應該被添加到列表的末尾,其他所有東西都按原樣排序? 我想實現「n/a」值不會出現在我的列表中間,因爲它們以「n」開頭。SQL Server:創建手動排序順序
如果所有其他項目都具有較低的數字「sortID」,則分配「sortID」99也同樣可行。
我的SP(工作):
ALTER PROCEDURE [dbo].[FetchItems]
AS
BEGIN
SET NOCOUNT ON;
SELECT col1,
col2,
col3,
col4,
col5,
sortID
FROM FetchItems
WHERE itemStatus = 'active'
ORDER BY sortID, col3
FOR XML PATH('itemList'), ELEMENTS, TYPE, ROOT('ranks')
END
感謝任何幫助,蒂姆。
這很完美 - 非常感謝!我不知道SQL中存在的case語句。 – user2571510