Merhaba arkadaşlar
id adi Parentid
1 a 0
2 a1 1
3 a2 1
4 aa1 2
şeklinde olna tabloda seçilen kodun altındakileri getiren bir kod lazım.nasıl yapabilirim acaba
Mesela a yı seçti a1,a2 ve aa1 gelecek
MSSQL Ağaç grubun alt gruplarını bulma
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: MSSQL Ağaç grubun alt gruplarını bulma
İyi günler. Bu işler için döngüsel yapı kurmak gerekmekte. Hatta bir fonksiyon yazarak genel kullanım sağlanabilir.gibi bir tablo sonucu üreten fonksiyon aşağıdaki şekilde kullanılabilir.İyi çalışmalar.
Kod: Tümünü seç
ALTER FUNCTION [dbo].[fn_GrupListe] (@ID int)
RETURNS @Listem TABLE (id int)
AS
BEGIN
if Exists(select top 1 ID from Ornek where Id=@ID) begin
INSERT INTO @Listem (id) values (@ID)
while @@ROWCOUNT>0 begin
insert into @Listem (id) select Id from Ornek where ParentID in (select id from @Listem) and Id not in (select id from @Listem)
end
-->delete from @Listem where id=@ID
end
RETURN
END
Kod: Tümünü seç
select * from Ornek where Id in (select id from fn_GrupListe(1))
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .