Work on SQL-Server. My table structure is below
CREATE TABLE [dbo].[AgentInfo]( [AgentID] [int] NOT NULL, [ParentID] [int] NULL, CONST
Try something like this:
WITH Merged (AgentId, ParentId) AS ( SELECT AgentId, ParentId FROM AgentInfo WHERE ParentId = -1 UNION ALL SELECT AgentInfo.AgentId, AgentInfo.ParentId FROM AgentInfo INNER JOIN Merged ON AgentInfo.AgentId = Merged.ParentId ) SELECT * FROM Merged