我們如何在T-SQL中編寫遞歸sql查詢? 你可以舉一個這樣的遞歸sql查詢的簡單例子。遞歸sql查詢T-SQL
4
A
回答
3
CREATE TABLE ATable (ID INTEGER, ParentID INTEGER)
INSERT INTO ATable
SELECT 1, NULL
UNION ALL SELECT 2, 1
UNION ALL SELECT 3, 2
;WITH q AS (
SELECT ID, ParentID
FROM ATable
UNION ALL
SELECT a.ID, a.ParentID
FROM ATable a
INNER JOIN q ON q.ID = a.ParentID
)
SELECT DISTINCT *
FROM q
0
1
請查看如何編寫遞歸查詢使用公用表表達式以下鏈接:http://msdn.microsoft.com/en-us/library/ms186243.aspx
5
這裏是一個自包含的例子。
Declare @Temp table
(
ID int,
ParentID int,
Happened date,
Value int
)
Insert into @Temp Values
(1, null, dateadd(day,1,GetDate()),1),
(2, 1, dateadd(day,2,GetDate()),2),
(3, 1, dateadd(day,3,GetDate()),3),
(4, null, dateadd(day,4,GetDate()),10),
(5, 3, dateadd(day,5,GetDate()),50),
(6, 4, dateadd(day,5,GetDate()),50),
(7, 5, dateadd(day,5,GetDate()),90);
----------------------------------------
with Magic as
(
select *
from @Temp
Where ID = 1
union all
select t.*
from
Magic m
inner join
@Temp t
on t.ParentID = m.ID
)
select * from Magic
option (maxrecursion 3)
相關問題
- 1. TSQL遞歸查詢
- 2. 幫助遞歸tsql查詢
- 3. SQL遞歸查詢
- 4. 遞歸SQL查詢
- 5. 遞歸SQL查詢
- 6. SQL遞歸查詢
- 7. 遞歸SQL查詢
- 8. 遞歸SQL查詢
- 9. SQL:遞歸查詢
- 10. SQL查詢計數(遞歸)
- 11. SQL遞歸查詢(Oracle)
- 12. SQL遞歸查詢的Postgres
- 13. 通用遞歸SQL查詢
- 14. t-sql遞歸查詢
- 15. 遞歸Postgre/SQL查詢
- 16. Postgres的SQL遞歸查詢
- 17. SQL-Server遞歸查詢
- 18. (CTE)遞歸SQL查詢
- 19. 遞歸查詢SQL Server
- 20. linq to sql遞歸查詢
- 21. SQL查詢 - 遞歸細化
- 22. 遞歸Sql查詢2008
- 23. 大遞歸SQL查詢
- 24. 使用遞歸SQL查詢
- 25. 遞歸t-sql查詢
- 26. SQL Server遞歸查詢
- 27. SQL Server遞歸查詢
- 28. TSQL遞歸
- 29. Sql Server 2008快遞遞歸查詢
- 30. 遞歸查詢
@ user491518,你怎麼改變了接受的答案? – 2010-11-15 17:22:29
我認爲@Jacques Bosch的答案更好。 – Pratik 2010-11-16 06:09:33
@ user491518:夠公平的。 – 2010-11-16 07:40:26