뭔가 트릭을 할 수 있습니다를
시험 데이터
DECLARE @tbl TABLE (RequestID INT,PrimaryRequestID INT,Prefix VARCHAR(100))
INSERT INTO @tbl
VALUES
(1,NULL,'MyPrefix'),
(2,1,NULL)
내가 재귀 CTE 기능을 사용하고
;WITH CTE(RequestID,PrimaryRequestID,Prefix)
AS
(
SELECT
tbl.RequestID,
tbl.PrimaryRequestID,
tbl.Prefix
FROM
@tbl AS tbl
WHERE
tbl.PrimaryRequestID IS NULL
UNION ALL
SELECT
tbl.RequestID,
tbl.PrimaryRequestID,
CTE.Prefix
FROM
@tbl AS tbl
JOIN CTE
ON tbl.PrimaryRequestID=CTE.RequestID
)
SELECT
*
FROM
CTE
자세히보기 쿼리에 대한 그 here
당신은 예를 들어 테이블에 한 번 더 라인이있는 경우.
1 NULL MyPrefix
2 1 NULL
3 2 NULL
그런 다음 출력은 여전히 다음과 같이 될 것입니다 : 그래서 당신의 표는이처럼
1 NULL MyPrefix
2 1 MyPrefix
3 2 MyPrefix
Becuase 나는 테이블에서 부모 자식 관계를 사용하고 있습니다.
몇 가지 예를 원한다면. Here, here, here 및 here에 유래에 대한 몇 가지 예입니다
? 이미 수행 한 작업에 올바른 방향으로 약간의 푸시가 필요할 수도 있기 때문에 작업을 표시하는 것이 좋습니다. – Taryn