在SQL Server中是否存在Oracle的CONNECT BY等效子句。使用parentId字段構建類別樹的要求。在SQL Server中等效的ORACLE連接條款
5
A
回答
8
Oracle的CONNECT BY
分層查詢語法的SQL Server 2005+等價物是使用遞歸CTE。 SQL Server 2008增加了HierarchyID。下面是一個遞歸CTE的例子:谷歌搜索「分層CTE」和/或「遞歸CTE」變爲了無數結果
WITH EmployeeHierarchy (EmployeeID, LastName, FirstName, ReportsTo, HierarchyLevel) AS (
SELECT EmployeeID,
LastName,
FirstName,
ReportsTo,
1 as HierarchyLevel
FROM Employees
WHERE ReportsTo IS NULL
UNION ALL
-- Recursive step
SELECT e.EmployeeID,
e.LastName,
e.FirstName,
e.ReportsTo,
eh.HierarchyLevel + 1 AS HierarchyLevel
FROM Employees e
JOIN EmployeeHierarchy eh ON e.ReportsTo = eh.EmployeeID)
SELECT *
FROM EmployeeHierarchy
ORDER BY HierarchyLevel, LastName, FirstName
。我採用了4GuysFromRolla.com的示例查詢。
遞歸CTE現在是ANSI標準 - 直到Oracle 11g才支持該語法,據我瞭解。
1
相關問題
- 1. Where條款中的條件 - SQL Server
- 2. 在SQL Server中執行條件連接
- 3. sql server中的XMLAGG等效
- 4. SQL Server連接條件
- 5. 「不等於」條款的熊貓SQL等效項
- 6. SQL Server中的條件連接
- 7. SQL Server中的條件連接
- 8. 連接在哪裏條款
- 9. Sql Server中的String列,CONCAT和條款
- 10. 連接條款中的條件和條款
- 11. 在SQL Server中等效的DBMS_SESSION.set_client_identifier
- 12. 在sql server中等效的Oracle varchar2
- 13. SQL Server - 將字符串添加到文本列(等效連接)
- 14. SQL Server等效的Oracle dbms_job.submit
- 15. 在sql server中連接表?
- 16. 連接表上的SQL Server 2000條件
- 17. 連接表(無條款)
- 18. 在SQL Server鏈接連接
- 19. 隨機記錄SQL Server的條款
- 20. 等效於SQL Server中的drop table table_name級聯約束條件
- 21. WPF中的SQL Server連接
- 22. SQL Server中的連接表
- 23. SQL Server中的連接類
- 24. SQL Server連接
- 25. SQL Server連接
- 26. SQL Server連接
- 27. 將SQL Server表定期轉儲到Oracle表中
- 28. SQL Server中是否有等效的SQL_CALC_FOUND_ROWS?
- 29. %SQL Server中的Rowtype等效項目
- 30. SQL Server中的MySQL \ G等效
thx爲鏈接和樣本。 – zapping 2010-02-05 05:43:21