Aşağıdaki görüntü, Microsoft SQL Server 2008 R2 Sistem Görünümlerinin bir parçasıdır. Görüntüden sys.partitions
ve arasındaki ilişkinin sys.allocation_units
değerine bağlı olduğunu görebiliriz sys.allocation_units.type
. Birlikte onlara katılmak için buna benzer bir şey yazardım:
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
Ancak üst kod sözdizimi hatası verir. Sanırım bu CASE
açıklama yüzünden . Herkes biraz açıklamaya yardımcı olabilir mi?
Hata mesajı ekle:
Msg 102, Seviye 15, Durum 1, Satır 6 '=' yakınında yanlış sözdizimi.