使用自连接创建索引视图

Mor*_*adi 6 sql-server-2008 sql-server sql-server-2008-r2 view materialized-view

我使用SQL Server 2008 R2并知道Indexed View不能有自我加入。

我有一个树表有IDParentID列,我需要在这个表上创建索引视图自每个记录与父记录之间的连接。我可以在这个视图中模拟自连接吗?

编辑

我的表结构是:

 SAM.Detail (DetailID Int, ParentDetailID Int, Quantity Int, ...)
Run Code Online (Sandbox Code Playgroud)

我的查询是:

 Select A.DetailID,
       A.Quantity - SUM(B.Quantity) as RemainQuantity,
       COUNT_BIG(*) as CountBig
From SAM.Detail A
inner join SAM.Detail B ON B.ParentDetailID = A.DetailID
Group By A.DetailID, A.Quantity
Run Code Online (Sandbox Code Playgroud)

小智 -2

我个人建议你可以看看什么是左连接,内连接和右连接

您可以通过搜索相关关键词或访问以下网页来阅读详细信息

http://www.w3schools.com/sql/sql_join_right.asp

/sf/ask/185300531/

在这种情况下,如果您的子记录必须有父 ID 并且所有父 ID 不为空,则右连接更合适

父记录为空或父记录没有子记录的子记录不能显示在内连接下。

请注意,如果连接 self 表的右连接永远持续下去,则可以模拟 Windows 或 Mac OSX 等分配文件夹的结构的树结构。

  • 问题是如何绕过 SQL Server 索引视图中连接类型的各种限制,而不是一般的连接。 (3认同)