我想要做的是执行简单的查询来排除不必要的数据,由于一些要求我必须使用函数来执行它,让我们看看我的示例数据和查询我的查询不起作用我的功能
在我的表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
我很困惑那为什么我的功能不起作用,我的错误是什么?我哪里错了?
所以要想解决,动态查询是我唯一的选择吗? –