Recursive CTE

Technical Article

Function and Queries to Convert Hierarchical Adjacency to Nested Json Arrays

  • Script

This script converts hierarchical adjacency into nested json rows which contain the recursive "downlines" of each node.  The table-valued function treats each row in the original adjacency as the root node in a recursive common table expression. 

★ ★ ★ ★ ★ ★ ★ ★ ★ ★

You rated this post out of 5. Change rating

2019-11-24

990 reads

Technical Article

Function and Queries to Convert Hierarchical Adjacency to Nested Json Arrays

  • Script

This script converts hierarchical adjacency into nested json rows which contain the recursive "downlines" of each node.  The table-valued function treats each row in the original adjacency as the root node in a recursive common table expression. 

★ ★ ★ ★ ★ ★ ★ ★ ★ ★

You rated this post out of 5. Change rating

2019-11-12 (first published: )

2,205 reads

Blogs

Asking for Help Isn’t a Weakness

By

During COVID, I attended training on software/enterprise architecture given by Mark Richards. One of...

The Proof of the Backup Is in the Pudding

By

For me, the objective is straightforward: have a backup strategy that is reliable, understandable,...

T-SQL Tuesday #204 – Are blogs still relevant?

By

Note: This post is the invitation for T-SQL Tuesday #204 on November 3rd, 2026....

Read the latest Blogs

Forums

The ##MS_DatabaseConnector## User

By Steve Jones - SSC Editor

Comments posted to this topic are about the item The ##MS_DatabaseConnector## User

Planning for Change

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Planning for Change

Importing Excel files into SQL Server, Azure Edition

By Cláudio Tereso

Comments posted to this topic are about the item Importing Excel files into SQL...

Visit the forum

Question of the Day

The ##MS_DatabaseConnector## User

On SQL Server 2025, I run this code as a sysadmin:

CREATE LOGIN Demo WITH PASSWORD = 'Demo1234567'
GO
ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER Demo
GO
I then login as Demo and run this:
USE sandbox
go
SELECT CURRENT_USER
What is returned?

See possible answers