2011-07-12 147 views
3

在開始編寫大量SQL語句以幫助解決我的問題之前,我可能會通過詢問一個簡單的問題來獲得答案。我每天都使用SQL Server 2005,並使用「WITH」子句執行子查詢。不幸的是,現在我必須使用SQL Compact,它不允許使用「WITH」子句執行子查詢。 SQL Compact中「WITH」子句的替代是什麼?平均而言,我一次使用10個子查詢。SQL「WITH」子句/語句

回答

2

用每個子句的結果創建一個臨時表;使用臨時表而不是with子句。

7

只要不關你的CTE的(公共表表達式 - 你正在使用的功能的正式名稱)是遞歸的,記得在最簡單的形式,

;WITH Q1 As 
(
    SELECT columns FROM Table1 
) 
SELECT columns FROM Q1 

大致可以翻譯爲:

SELECT columns FROM (SELECT columns FROM Table1) Q1 

注意'Q1'在那裏。你必須給子查詢一個名字。你選擇的名字通常不重要,在這裏簡單的名字很常見 - 甚至只有單個字母。有10個子查詢串起來,你可能需要選擇更有意義的東西。