PDA

View Full Version : ساختار درختی برای یک جدول



asemoon barooni
چهارشنبه 13 مهر 1390, 08:33 صبح
سلام
من یک جدول دارم که در فایل ضمیمه عکسش و قرار دادم:





حالا میخوام یک query بنویسم وقتی Id =3 رو بهش دادم اسم parent هاش با یک - ازهم جدا شده و در یک فیلد نمایش داده بشه .. این کا رو کردم :

SELECT

Stuff
((SELECT'-'+Name
FROM dbo.Tb
WHERE Id = 3
FORxmlpath('')), 1, 1,'')ASName


ولی درست عمل نمی کنه مشکلم بخاطر والدهاست ..اگه راهنمایی کنید ممنون می شم.

یوسف زالی
چهارشنبه 13 مهر 1390, 09:24 صبح
سلام.
اینجا رو ببینید:
http://barnamenevis.org/showthread.php?306871-طریقه-نوشتن-select-به-صورت-بازگشتی
پست شماره 6

asemoon barooni
چهارشنبه 13 مهر 1390, 09:41 صبح
خیلی ممنون از راهنماییتون yousijoon ولی من که گفتم میخوام والدهای یک فرزند رو نشون بده اونی که شما گفتید واسه فرزندهای یک والد هستش. در واقع من میخوام برعکس عمل کنم برای یک فرزند والدهاش رو پیدا کنم.

یوسف زالی
چهارشنبه 13 مهر 1390, 22:31 عصر
دوست من اون برای پیدا کردن والد های فرزند هست.
این هم برای پیدا کردن تمام فرزندان یک والد:


declare @tbl table(TempSN int, TempData varchar(1000))
insert into @tbl
values(FirstSN,CAST(FirstSN as varchar(10)))
while @@ROWCOUNT> 0
insert into @tbl
select TblSN, TempData +'->'+cast(TblSN as varchar(10))
from TBL
join @tbl A on FatherTblSN = TempSN
where TblSN notin(select TempSN from @tbl)
select*
from @tbl

asemoon barooni
پنج شنبه 14 مهر 1390, 11:15 صبح
خیلی ممنونم yousijoon من اول توجه نکردم که شما چیکار کردید الان متوجه شدم ممنونم از راهنمایی های مفیدتون.

یوسف زالی
پنج شنبه 14 مهر 1390, 17:15 عصر
خواهش میکنم.
راستی برای تشکر بهتره که از دکمه استفاده کنید.
موفق باشید.