相关疑难解决方法(0)

我可以在JOIN条件下使用CASE语句吗?

以下图像是Microsoft SQL Server 2008 R2系统视图的一部分.从图片我们可以看到,之间的关系sys.partitionssys.allocation_units依赖的价值sys.allocation_units.type.所以要将它们连接在一起,我会写一些与此类似的东西:

SELECT  *
FROM    sys.indexes i
        JOIN sys.partitions p
            ON i.index_id = p.index_id 
        JOIN sys.allocation_units a
            ON CASE
               WHEN a.type IN (1, 3)
                   THEN a.container_id = p.hobt_id 
               WHEN a.type IN (2)
                   THEN a.container_id = p.partition_id
               END 
Run Code Online (Sandbox Code Playgroud)

但是上面的代码给出了语法错误.我猜这是因为CASE声明.任何人都可以帮忙解释一下吗?

谢谢!


添加错误消息:

消息102,级别15,状态1,行6'='附近的语法不正确.

这是图像

sql sql-server join case

118
推荐指数
6
解决办法
39万
查看次数

标签 统计

case ×1

join ×1

sql ×1

sql-server ×1