below is the structure and query .pleae make this query in shortest form.
i want to get all records in hierarchy.
USE [UPPCL_Complain]
GO
/****** Object: Table [dbo].[IGRS_M_Unit] Script Date: 11/02/2017 15:38:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[IGRS_M_Unit](
[unitId] [INT] IDENTITY(1,1) NOT NULL,
[unitName] [NVARCHAR](100) NULL,
[layerId] [INT] NULL,
[unitCode] [NVARCHAR](100) NULL,
[parentId] [INT] NULL,
[insertDate] [DATETIME] NULL,
[modifyDate] [DATETIME] NULL,
[insertBy] [BIGINT] NULL,
[modifyBy] [BIGINT] NULL,
[isRootUnit] [BIT] NULL,
[rootId] [INT] NULL,
[depUnitId] [INT] NULL,
CONSTRAINT [PK_ETI_M_Unit] PRIMARY KEY CLUSTERED
(
[unitId] 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
SELECT a.unitId FROM dbo.IGRS_M_Unit a WHERE a.unitId = 5
UNION ALL
SELECT a.unitId FROM dbo.IGRS_M_Unit a INNER JOIN IGRS_M_Unit b ON b.unitId = a.parentId WHERE b.unitId = 5
UNION ALL
SELECT a.unitId FROM dbo.IGRS_M_Unit a INNER JOIN IGRS_M_Unit b ON b.unitId = a.parentId INNER JOIN IGRS_M_Unit c ON c.unitId = b.parentId
WHERE c.unitId = 5
UNION ALL
SELECT a.unitId FROM dbo.IGRS_M_Unit a INNER JOIN IGRS_M_Unit b ON b.unitId = a.parentId INNER JOIN IGRS_M_Unit c ON c.unitId = b.parentId
INNER JOIN IGRS_M_Unit d ON d.unitId = c.parentId
WHERE d.unitId = 5