ऐसा कुछ मदद कर सकता है:
पहले कुछ परीक्षण डेटा:
DECLARE @DoctorInfo TABLE
(
doctorId INT,
fistName VARCHAR(100),
seniorDoctorId INT
)
INSERT INTO @DoctorInfo
VALUES
(34,'ABC',0),
(35,'XYZ',34),
(36,'bsd',34),
(37,'dfdf',35),
(38,'dffdg',0)
इस तरह की क्वेरी:
DECLARE @doctorId INT
SET @doctorId=35
;WITH CTE(doctorId,seniorDoctorId,fistName)
AS
(
SELECT
DoctorInfo.doctorId,
DoctorInfo.seniorDoctorId,
DoctorInfo.fistName
FROM
@DoctorInfo AS DoctorInfo
WHERE
[email protected]
UNION ALL
SELECT
DoctorInfo.doctorId,
DoctorInfo.seniorDoctorId,
DoctorInfo.fistName
FROM
@DoctorInfo AS DoctorInfo
JOIN CTE
ON DoctorInfo.seniorDoctorId=CTE.doctorId
)
SELECT
*
FROM
CTE
वांछित आउटपुट प्राप्त करने के लिए आपको seniorDoctorId
का उपयोग करने की आवश्यकता नहीं है क्योंकि उनका पहले से ही माता-पिता के बच्चे का रिश्ता है।
उदाहरण देखें यहां