可以在聯接條件下使用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
提交
取消