मैं वर्तमान में एक कर्मचारी तालिका से कर्मचारी पदानुक्रम बनाने के लिए एक सीटीई क्वेरी चला रहा हूं जो कि सबसे पुनरावर्ती उदाहरणों के समान है। जहां मैं फंस गया हूं वह यह है कि मैं एक कर्मचारी के लिए पूछताछ करने की कोशिश कर रहा हूं और उसके ऊपर पदानुक्रम प्राप्त कर रहा हूं। नीचे दी गई तालिका मैं काम करने के लिए कोशिश कर रहा हूँ का एक उदाहरण है साथ:एसक्यूएल सीटीई रिकर्सन: रिटर्निंग पेरेंट रिकॉर्ड्स
with employeeMaster as (
select p.EmployeeID, p.MgrID, p.Name
from Employees p
where p.MgrID is null
union all
select c.EmployeeID, c.MgrID, c.Name
from employeeMaster cte inner join Employees c on c.MgrID = cte.EmployeeID
)
select * from employeeMaster
मैं कहां अटक कर रहा हूँ है:
Employees
===========================================================================
EmployeeID MgrID Name
1 null Joe
2 1 John
3 2 Rob
4 2 Eric
निम्नलिखित एसक्यूएल कि मुझे शीर्ष नीचे से पदानुक्रम प्रदर्शित करने के लिए अनुमति देता है कि मैं यह नहीं समझ सकता कि निम्नतम स्तर के कर्मचारी, या तो रॉब या एरिक के लिए पूछताछ कैसे करें, और जो> जॉन> एरिक से उसके ऊपर पदानुक्रम वापस करें। ऐसा लगता है कि यह आसान होना चाहिए लेकिन मैं इसे मेरे जीवन के लिए नहीं खोज सकता।
मेरी पोस्ट में टेबल उदाहरण का उपयोग करके, मैं एरिक के लिए पूछताछ करना चाहता हूं और अपने रिकॉर्ड और उसके ऊपर के दो लोगों को दिखाते हुए तीन रिकॉर्ड के साथ एक रिकॉर्डसेट वापस करना चाहता हूं। अंतिम लक्ष्य किसी कर्मचारी को अपमानजनक क्वेरी है और उस कर्मचारी की शीर्ष श्रृंखला तक कमांड की श्रृंखला देखता है। – Tehrab
मैंने आपको एरिक और उसके प्रबंधकों को देने के लिए संपादित किया। –
हमेशा सरल सामान। उत्तर के रूप में चिह्नित। – Tehrab