PDA

View Full Version : با داشتن یک id پدران و فرزندانش رو پیدا کرد



Delphi XE2
شنبه 29 آذر 1393, 18:53 عصر
یه جدوله که یه ستون id داره و یه ستون parent-id و رابطه پدر و فرزندی رکوردها با هم از طریق ستون parent-id مشخص میشهحالا چگونه میتوان با داشتن یک id پدران و فرزندانش رو پیدا کرد

یوسف زالی
شنبه 29 آذر 1393, 20:00 عصر
دوست عزیزم، این سوالات به تالار اس کیو ال مرتبطه.
شما در کوئری می خواهی، در لیست دلفی می خواهی، در درخت می خواهی، در چی آخه؟
توضیحات ناقصه.
توضیحاتتون رو بگید، اگر مرتبط بود، حذف نمی شه و پاسختون رو حتما سعی می کنم بدم.
موفق باشید.

Delphi XE2
شنبه 29 آذر 1393, 20:25 عصر
دوست عزیزم، این سوالات به تالار اس کیو ال مرتبطه.شما در کوئری می خواهی، در لیست دلفی می خواهی، در درخت می خواهی، در چی آخه؟توضیحات ناقصه.توضیحاتتون رو بگید، اگر مرتبط بود، حذف نمی شه و پاسختون رو حتما سعی می کنم بدم.موفق باشید.

راستش اگه میدونستم باید چیکار کنم مزاحم شما نمیشدم

فکر میکردم توظیحاتم کامله من یه دیتابس دارم که این جدول داخلش هست و حالا میخوام


یه جدوله که یه ستون id داره و یه ستون parent-id و رابطه پدر و فرزندی رکوردها با هم از طریق ستون parent-id مشخص میشهحالا چگونه میتوان با داشتن یک id پدران و فرزندانش رو پیدا کرد

یعنی اگه مثلا با id داریم که نام علی هست و پدرش هم محمد و پدربزرگش هم اکبر
اینا رو بدست بیاریم
به همین صورت فرزندانش رو
خوب چون با دلفی میخوام اینجا تاپیک زدم
گه تالار را اشتباه انتخاب کردم لطفا منتقل کنید
یا بخش مربوطه را لینک بزارید
اگه هم پاسخ را میدانید لطفا جواب بدید
ممنون

یوسف زالی
شنبه 29 آذر 1393, 21:03 عصر
منظور از این کار حفظ نظمه، نه بیشتر. قبول کنید که اگر هر کسی حتی به اشتباه این کار رو کنه، تالار بی نظم می شه.
شما با اس کیو ال کار می کنید؟
اگر بله، کوئری ران می کنید یا اس پی؟

Delphi XE2
یک شنبه 30 آذر 1393, 14:49 عصر
من خیلی جستجو کردم اما نتیجه ای نداره حقیقتش نمیدونم چی بنویسم تا نتیجه بده


اگر بله، کوئری ران می کنید یا اس پی؟

اگه لطف کنید و در نوشتن کوئری من را راهنمایی کنید ممنون میشوم

یوسف زالی
یک شنبه 30 آذر 1393, 15:29 عصر
جواب ندادید، اما من بنا رو بر اس کیو ال می گذارم.




DECLARE @sn INT = your serial;


with CTE as
(
select isnull(@SN, 0) SN
union all
select TableSN
from FatherTable
join CTE on FatherSN = SN
)

select *
from CTE
-- JOIN ChildTable ON your relationship
option (MAXRECURSION 0)