Select distinct
Case
When ABC = 'C1' then 'C1'
When ABC = 'C1C' then 'C1C'
When ABC = 'C2' then 'C2'
When ABC = 'C3' then 'C3'
When ABC = 'C3C' then 'C3C'
When ABC = 'C3CC' then 'C3CC'
When ABC = 'C4' then 'C4'
When ABC = 'C4C' then 'C4C'
When ABC = 'C4CC' then 'C4CC'
When ABC = 'C6' then 'C6'
When ABC = 'C7' then 'C7'
When ABC = 'C8' then 'C8'
When ABC = 'F' then 'F'
When ABC = 'F2' then 'F2'
When ABC = 'V' then 'V'
When ABC = 'V2' then 'V2'
End as ABC
from LinkedServer.database.dbo.Tblname
当我在常规数据库上执行上述 sql 时,可以完美运行,没有错误,但是如果我使用链接服务器前缀,那么我会得到以下错误。
错误消息:消息 8180,级别 16,状态 1,行 1 无法准备语句。Msg 125, Level 15, State 4, Line 1 Case 表达式只能嵌套到级别 10。
如果我删除一些案例语句(通常少于 10 个案例)工作正常,它工作正常。任何想法或解决方法:我知道的一种解决方法:使用许多案例语句在链接服务器上创建 SP/View/Function,然后调用创建的 SP/View/Function。我不是在寻找这个。