-1
由於需要大量數據,我有一個SQL查詢需要很長時間來執行(像30分鐘!)。SQL - 查詢自加入而不執行兩次
但是,我需要做一些更多的關於這個結果的自我加入這個查詢。
我無法在此數據庫上創建臨時表。
我想要的是一種方法來執行此自我連接而不執行此查詢兩次。
有沒有辦法寫一個主查詢(也許用'WITH'語法)來允許?
編輯: 這裏是什麼工作的示例:
With
MyQueryAlias1 AS
(30 minutes sql query here)
MyQueryAlias2 AS
(30 minutes sql query here)
SELECT
MyQueryAlias1.field1
FROM
MyQueryAlias1
JOIN MyQueryAlias2
ON MyQueryAlias1.field2 = MyQueryAlias2.field3
這只是一個例子,但它表明了「30分鐘SQL查詢這裏」將被執行兩次,這是我的問題。
發表您的查詢! – Hawk
請發佈您想要實現的最小范例(包括DDL和DML語句以生成適當的表格和示例數據),並告訴我們預期的結果是什麼。消除自連接有多種可能性(有時使用分析函數或分層查詢 - 但同樣可能無法消除連接),但除非我們知道問題是什麼,否則我們無法提供幫助。 – MT0
不能幫助,除非我們得到一個例子來工作 –