1
我对派生表有以下SQL查询,因此我无法创建索引视图的CLUSTERED INDEX。所以我必须将派生表转换为正常连接。SQL查询将派生表转换为普通加入(索引视图)
SELECT
......
FROM
dbo.invoice i
LEFT JOIN
(
SELECT SUM(amount) as servicesamount
,ise.invoiceuid
,ise.episodeuid
,ise.memberuid
,ev.caseuid
FROM dbo.invoice_services ise
JOIN dbo.invoice inv on inv.invoiceuid = ise.invoiceuid
JOIN dbo.event ev ON ev.eventuid = ise.episodeuid -- JOIN IN ORDER TO BRING EVENT INVOCIES ONLY (DENTAL INVOICES COULD EXIST)
GROUP BY ise.invoiceuid,ise.episodeuid,ise.memberuid,ev.caseuid
) ise ON ise.invoiceuid = i.invoiceuid
如何转换
LEFT JOIN
(
SELECT SUM(amount) as servicesamount
,ise.invoiceuid
,ise.episodeuid
,ise.memberuid
,ev.caseuid
FROM dbo.invoice_services ise
JOIN dbo.invoice inv on inv.invoiceuid = ise.invoiceuid
JOIN dbo.event ev ON ev.eventuid = ise.episodeuid -- JOIN IN ORDER TO BRING EVENT INVOCIES ONLY (DENTAL INVOICES COULD EXIST)
GROUP BY ise.invoiceuid,ise.episodeuid,ise.memberuid,ev.caseuid
) ise
正常参加任何线索?
欣赏它!
我假设你不只是说把它变成一个'INNER JOIN'。不知道索引视图的任何内容 - 你可以使用CTE吗?但除此之外 - 你是否有实际的性能问题(这意味着视图需要被索引,而不仅仅是由索引表支持的常规视图)?哦,你应该可以在子查询中删除对'dbo.invoice'的引用。 – 2013-02-25 23:44:20
发生了什么是我可以有一个派生表的示例:左连接(选择....)它应该是类似的东西:left join dbo.invoice_services .... – VAAA 2013-02-25 23:49:12
什么版本的SQL Server?那我的其他问题呢? – 2013-02-25 23:51:44