ALTER FUNCTION [dbo].[fnGetTrustNotesByTrustIDForAdminConsole]
(@TrustID INT
)
RETURNS varchar(MAX)
AS
BEGIN
DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr + '|' , '') + ltrim(Note.NoteText)
FROM TrustNote
JOIN Note
ON TrustNote.NoteID = Note.NoteID
and Note.Archived = 0
WHERE Trustid = @TrustID
RETURN @listStr
END
該函數從數據庫返回「Notes」並對它們進行編譯,但Note(Note.ListOrderNumber)中還有另一個列,除了coalesce之外,我還想對它們進行排序。SQL函數,COALESCE和排序
我知道它不起作用,只是在返回之前添加一個訂單,但有沒有辦法添加它?
實例數據
Note 1, Position 2
Note 2, Position 3
Note 3, Position 1
目前檢索完全按照規定在那裏。 後添加ORDER BY Note.ListOrderNumber
Where子句僅產生一個結果:
Note 2, Position 3
嘗試在'WHERE'子句之後添加'ORDER BY'子句,我無法測試它,但我確信它會起作用。 – Matthew
Guido,請不要在此代碼中刪除'dbo',特別是在'ALTER FUNCTION'語句中。僅僅因爲'dbo'是用戶的默認模式並不意味着當前用戶沒有並且當前沒有使用他或她自己的模式!至少總是以存儲的proc或函數的名稱來表示模式,這是一種很好的做法! – JayC
(上面的消息是針對以前的編輯器的,對不起。) – JayC