可以在联接条件下使用CASE语句吗?下面的图像是MicrosoftSQLServer2008R2系统视图的一部分。从图像中我们可以看到sys.partitions和sys.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但是上面的代码给出了一个语法错误。我想那是因为CASE声明。有人能帮我解释一下吗?添加错误消息:MSG 102,15级,状态1,6行语法不正确,接近‘=’。
添加回答
举报
0/150
提交
取消