PDA

View Full Version : کوئری جهت ارجاع به خود بدون وجود فیلد پدر



zman123456
سه شنبه 03 بهمن 1391, 11:01 صبح
سلام
SQL code to traverse self-referencing tables without parent-child relationships
موضوع رو فارسی نوشتم و اینجا هم انگلیسیش رو نوشتم تا مطلب کاملا درک بشه.
من یه جدول دارم که توش کد و نام درج شده.مثال:
3201 A
320101 AA
320101001 AAA
من کوئری می خوام که بتونم این رکوردها رو به این شکل نمایش بده.
A AA AAA
فیلد پدر(Parent) وجود ندارد.

محمد سلیم آبادی
سه شنبه 03 بهمن 1391, 11:30 صبح
چرا ستون والد وجود نداره؟
باید کد والد مشخص باشه تا بشه query بازگشتی نوشت. اگه کد هر گره را تفکیک کنیم کد والد بدست میاد:


Name ParentID ID ParentID + ID
A null 3201 3201
AA 3201 01 320101
AAA 320101 001 320101001

zman123456
سه شنبه 03 بهمن 1391, 12:02 عصر
مرسی از پاسخ
متاسفانه من دیزاینر نبودم.وگرنه برای راحتی کار حتما ParentID میزاشتم.در حال حاظر مشکل رو چطوری میشه حل کرد؟

محمد سلیم آبادی
سه شنبه 03 بهمن 1391, 12:12 عصر
مثالی که در پست قبلیم وجود داره را مشاهده کنید، داده ها باید به اون شکل تفکیک بشن تا بشه query نوشت.

zman123456
سه شنبه 03 بهمن 1391, 14:29 عصر
این جدول از یک دیتابیس هست که نرم افزار متصل به آن در حال اجراست و اطلاعات درون این جدول به صورت درختی در این نرم افزار در حال نمایش است.من چون باید یه حالت گزارش گیری برای آن ایجاد کنم باید یک همچین لیستی که در پست اول نوشتم را ایجاد کنم.به نظر من باید یه جوری بشه این کار را انجام داد.چون برنامه نویس این نرم افزار این کار را انجام داده.

محمد سلیم آبادی
پنج شنبه 05 بهمن 1391, 18:39 عصر
به نظر من باید یه جوری بشه این کار را انجام داد.چون برنامه نویس این نرم افزار این کار را انجام داده.
من بعید میدونم با t-SQL خروجی بدست اومده باشه. برنامه نویس هم حتما دلیلی داشته که داده ها رو به اون شکل ثبت کرده.