سلام
فرض کنید جدول زیر را داریم
CREATE TABLE [dbo].[Table_1](
[Id] [int] NOT NULL,
[Name] [nvarchar](50) NOT NULL,
[ParentId] [int] NULL,
[Status] [bit] NOT NULL,
CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO;
INSERT INTO [dbo].[Table_1]
([Id],[Name],[ParentId] ,[Status] )
VALUES
(1,'آسیا', null, 1),
(2,'ایران', 1, 1),
(3,'شهرری', 2, 0),
(4,'کرج', 2, 1),
(5,'مهرشهر', 4, 1),
(6,'عظیمه', 4, 0);

حال می خواهم وقتی کد ایران را وارد کردم لیست تمام زیرمجموعه های غیر فعال ایران را برگرداند (فرزند اول تا فرزند فرزند....)
مثلا باتوجه به اطلاعات جدول بالا
خروجی لیست برابر با شهرری و عظیمه باشد
کد مروبطه را چگونه بنویسم