আমি কখনও পুনরাবৃত্তি সহ সিটিই ব্যবহার করি না। আমি এটি সম্পর্কে একটি নিবন্ধ পড়ছিলাম। এই নিবন্ধটি SQL সার্ভার সিটিই এবং পুনরাবৃত্তির সাহায্যে কর্মচারীদের তথ্য দেখায়। এটি মূলত কর্মচারী এবং তাদের পরিচালকের তথ্য প্রদর্শন করছে। এই ক্যোয়ারীটি কীভাবে কাজ করে তা আমি বুঝতে সক্ষম নই। কোয়েরিটি এখানে:
WITH
cteReports (EmpID, FirstName, LastName, MgrID, EmpLevel)
AS
(
SELECT EmployeeID, FirstName, LastName, ManagerID, 1
FROM Employees
WHERE ManagerID IS NULL
UNION ALL
SELECT e.EmployeeID, e.FirstName, e.LastName, e.ManagerID,
r.EmpLevel + 1
FROM Employees e
INNER JOIN cteReports r
ON e.ManagerID = r.EmpID
)
SELECT
FirstName + ' ' + LastName AS FullName,
EmpLevel,
(SELECT FirstName + ' ' + LastName FROM Employees
WHERE EmployeeID = cteReports.MgrID) AS Manager
FROM cteReports
ORDER BY EmpLevel, MgrID
আউটপুটটি কীভাবে প্রদর্শিত হচ্ছে সে সম্পর্কে আমি এখানে পোস্ট করছি:
আমি কেবল এটি প্রথমে পরিচালককে এবং তার লুপটিতে তার অধীনস্থকে কীভাবে দেখায় তা জানতে হবে। আমি অনুমান করি যে প্রথম বর্গক্ষেত্রের বিবৃতিটি কেবল একবারই জ্বলিত হয় এবং এটি সমস্ত কর্মচারী আইডি প্রদান করে।
এবং দ্বিতীয় ক্যোয়ারী বারবার গুলি চালায়, বর্তমান ম্যানেজার আইডির সাথে কর্মচারী কোন ডেটাবেসটি উপস্থিত রয়েছে তা অনুসন্ধান করে।
দয়া করে ব্যাখ্যা করুন কীভাবে স্কিল স্টেটমেন্টটি অভ্যন্তরীণ লুপে কার্যকর করে এবং আমাকে এসকিএল এক্সিকিউশন অর্ডারও জানায়। ধন্যবাদ।
আমার দ্বিতীয় পর্যায়ের প্রশ্নের
;WITH Numbers AS
(
SELECT n = 1
UNION ALL
SELECT n + 1
FROM Numbers
WHERE n+1 <= 10
)
SELECT n
FROM Numbers
প্রশ্ন 1) এন এর মান কীভাবে বাড়ছে? যদি মানটি প্রতিবার N কে বরাদ্দ করা হয় তবে এন মান বাড়ানো যেতে পারে তবে কেবলমাত্র প্রথমবার এন মানটি আরম্ভ করা হয়েছিল।
প্রশ্ন 2) সিটিই এবং কর্মচারীদের সম্পর্কের পুনরাবৃত্তি:
যে মুহুর্তে আমি দু'জন পরিচালককে যুক্ত করেছি এবং দ্বিতীয় ব্যবস্থাপকের অধীনে আরও কয়েকজন কর্মচারী যুক্ত করব সেখানেই সমস্যাটি শুরু হয়।
আমি প্রথম ম্যানেজারের বিশদটি এবং পরবর্তী সারিতে প্রদর্শন করতে চাই কেবল সেই কর্মচারীর বিশদ যা সেই ব্যবস্থাপকের অধীনস্থ সম্পর্কিত।
অনুমান করা
ID Name MgrID Level
--- ---- ------ -----
1 Keith NULL 1
2 Josh 1 2
3 Robin 1 2
4 Raja 2 3
5 Tridip NULL 1
6 Arijit 5 2
7 Amit 5 2
8 Dev 6 3
আমি সিটিই এক্সপ্রেশন দিয়ে ফলাফলগুলি এভাবে প্রদর্শন করতে চাই। ম্যানেজার-কর্মচারীদের সম্পর্ক টানতে আমি এখানে যে আমার স্কুএলে সংশোধন করব তা আমাকে বলুন। ধন্যবাদ।
আমি আউটপুটটি এর মতো হতে চাই:
ID Name MgrID nLevel Family
----------- ------ ----------- ----------- --------------------
1 Keith NULL 1 1
3 Robin 1 2 1
2 Josh 1 2 1
4 Raja 2 3 1
5 Tridip NULL 1 2
7 Amit 5 2 2
6 Arijit 5 2 2
8 Dev 6 3 2
এটা কি সম্ভব...?