Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can we write a recursive SQL query in T-SQL?

Tags:

sql

t-sql

How can we write a recursive SQL query in T-SQL?

Can you give a simple example of such a recursive SQL query?

like image 639
Pratik Avatar asked Oct 24 '25 17:10

Pratik


1 Answers

Here is a self-contained example.

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)
like image 138
Jacques Bosch Avatar answered Oct 26 '25 06:10

Jacques Bosch



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!