WITH recursive temp AS(
SELECT service_id, service_name, 0 dependency_depth, service_name dependency_path
FROM services
WHERE service_name = 'Payment_Gateway'
UNION ALL
SELECT sd.caller_service_id, se.service_name, t.dependency_depth + 1,
CONCAT(t.dependency_path,'->',se.service_name)
FROM temp t
JOIN service_dependencies sd ON sd.callee_service_id = t.service_id
JOIN services se ON sd.caller_service_id = se.service_id
WHERE YEAR(first_call_date) = 2025
)
SELECT service_id, service_name, dependency_depth, dependency_path
FROM temp
WHERE dependency_depth >=1
ORDER BY 3,1,4