我想要做的是執行簡單的查詢來排除不必要的數據,由於一些要求我必須使用函數來執行它,讓我們看看我的示例數據和查詢我的查詢不起作用我的功能
在我的表ID | TITLE |
1 | A |
2 | B |
3 | C |
我的功能
CREATE FUNCTION ufnTitleValue()
RETURNS NVARCHAR(255)
AS
BEGIN
DECLARE @Val NVARCHAR(MAX)
SELECT @Val = STUFF((SELECT ''',''' + TITLE FROM [MyTable]
WHERE TITLE IN('A','B')
FOR XML PATH('')),1,2,' ')
SET @Val = @Val + ''''
IF @Val IS NULL
RETURN ''
RETURN @Val
END
結果,通過我的功能
01返回的樣本數據
'A','B'
我的問題就在這裏,當我試圖排除的數據,它不工作
SELECT TITLE FROM [MYTable] WHERE TITLE NOT IN (ufnTitleValue())
原始結果
TITLE
A
B
C
預期結果
TITLE
C
我很困惑那爲什麼我的功能不起作用,我的錯誤是什麼?我哪裏錯了?
所以要想解決,動態查詢是我唯一的選擇嗎? –