PDA

View Full Version : استخراج اطلاعات به شکل زنجیره وار



MOJTABAATEFEH
چهارشنبه 14 مرداد 1394, 14:28 عصر
با سلام
دوستان عزیز من در برنامم احتیاج به واکشی اطلاعات به شکل زیر دارم لطفا بفرمایید چطور باید کد نویسیش کنم از هر راهی رفتم به نتیجه نرسیدم

توضیح :
من کد 1 (یا هر کد دیگری) را طبق تصویر از کاربر دریافت می کنم و همانطور که میبینید این Code دو Parent به اسم A و 6 دارد و خود A نیز Parent ی به اسم 12 دارد الی آخر حال می خواهم با همان دریافت فقط 1 خود رکوردهایی که 1 در ستون Code آنها هست و رکوردهایی را که در کل جدول با 1 ارتباطی دارند(از طریق ستون Parent) را برگرداند

با تشکر
738688

یوسف زالی
چهارشنبه 14 مرداد 1394, 14:59 عصر
سلام.
سوال شما مرتبط به دلفی نیست.
باید در تالار مرتبط به دیتابیس خودش بپرسید.
این یکی ایراد نداره، اما لطفا سوالاتتون رو در دسته بندی خودش بپرسید.

از شکل و شمایل تصویر معلومه از اس کیو ال بالاتر از 2005 استفاده می کنید.



;WITH CTE AS (
SELECT Parent, Code, Name
FROM YourTable
WHERE Code = 1
UNION ALL
SELECT A.Parent, A.Code, A.Name
FROM YourTable A
JOIN CTE ON isnull(A.Parent, 0) = CTE.Code
)
SELECT *
FROM CTE
OPTION (MAXRECURSION 0)


توجه: این کد ممکن است در کوئری با اشکال مواجه شود (نسخ گوناگون دلفی و ADO) این کد رو در SP بنویسید و کالش کنید.