我需要向每位信贷顾问寻找他/她的区域经理。
我们的网络如下:
CREATE INDEX ON a (id);
我试过了:
CareerSystemPositionId CareerSystemPositionCode_Primary PositionShortcut OriginalPositionShortcut PositionShortcutTranslationId
2 -1 PM PM 30 Profi Manager
3 0 RM RM 31 Region Manager
4 1 AM AM 32 Area Manager
5 2 TM TM 33 Team Leader
6 3 CAS ÚPS 34 Senior Credit Advisor
7 4 CA ÚP 35 Senior Credit
任何帮助都将不胜感激。
提前致谢
答案 0 :(得分:0)
您需要将源指定为递归表表达式,然后从中选择所需的数据
WITH CA AS
(
SELECT
ca.CreditAdvisorId AS CA_ID,
ca.CreditAdvisorCode_Primary AS CA_Code,
ca.CreditAdvisorParentID AS ParentID,
ca.CareerSystemPositionId AS PositionID,
ca.ClosestManagerId AS CloseManID
FROM
dim.CreditAdvisor ca
WHERE
ca.CreditAdvisorId = @CA_id --nenacitame vsechny zaznamy
UNION ALL
SELECT
dca.CreditAdvisorId AS CA_ID,
dca.CreditAdvisorCode_Primary AS CA_Code,
dca.CreditAdvisorParentID AS ParentID,
dca.CareerSystemPositionId AS PositionID,
dca.ClosestManagerId AS CloseManID
FROM
dim.CreditAdvisor dca
JOIN CA ON dca.CreditAdvisorId = CA.ParentID
WHERE
CA.PositionID <= 4
)
SELECT
ca.CA_ID AS AM_Id
ca.CA_Code AS AM_code
FROM
CA ca
WHERE
ca.PositionId = 4;