我有一個位置表。每個位置都以樹的形式存儲在此表中。記錄可以是任何其他位置的位置等。
在我的位置表,我執行下面的TSQL產生與他們sublocations
在SQL中使用UNION和WITH語句
WITH LocationTree AS (
SELECT L.* FROM Location L
UNION
SELECT L.* FROM LocationTree LT, Location L where L.ParentLocationID = LT.LocationID
)
SELECT * FROM LocationTree
所有地點,但它給了我一個錯誤:
Recursive common table expression 'LocationTree' does not contain a top-level UNION ALL operator.
錯誤說,我必須使用UNION ALL insend UNION但UNION ALL返回重複的行。我想選擇不同的行,例如只使用UNION時。
如何使用UNIONWITH SQL語句中的關鍵字?
只是想知道..遞歸查詢的一個不同名稱,我的意思,而不是LocationTree,這也是您的表的名稱? – bonsvr 2013-05-03 09:54:03
@bonsvr你認爲我的查詢是錯誤的?我在網上找到了這個例子,所以我不太確定它。如果你看到任何錯誤,你能否告訴我糾正我的疑問? – Fer 2013-05-03 11:45:33