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