我有這個查詢,其中MINUS
運算符的兩個操作數被計算兩次。 如何重寫查詢,使它們只創建一次?在嵌套查詢中創建和使用臨時表
(目的是檢查兩組相等)
SELECT DISTINCT t1.id
FROM t1
WHERE NOT EXISTS (SELECT t2.did FROM t1 AS t2
WHERE t2.id = t1.id
MINUS
SELECT t3.did FROM t3
WHERE t3.price > 500000)
AND NOT EXISTS (SELECT t3.did FROM t3
WHERE t3.price > 500000
MINUS
SELECT t2.did FROM t1 AS t2
WHERE t2.id = t1.id);
爲了澄清的東西,下面的兩個[子]查詢被查詢重複兩次:
SELECT t2.did FROM t1 AS t2
WHERE t2.id = t1.id
和
SELECT t3.did FROM t3
WHERE t3.price > 500000
你可以張貼一些示例數據和預期的效果?不確定我們完全理解您的要求。 – sgeddes 2013-03-16 03:32:24
我用兩次計算的兩個查詢更新了帖子。我在詢問如何在查詢中創建臨時表/關係,以便可以重用結果。 – 2013-03-16 03:41:28