Snedker wrote:
> Jeg har følgende udfordring, som jeg godt kunne bruge lidt hjælp til:
>
> På
http://dl.getdropbox.com/u/175230/tree.jpg kan ses en træstruktur.
> Hver gruppe på træet har et GroupID. Jeg skal have alle undergrupper i
> hele træet under "Alle varer", som i eksemplet herunder er GROUP12.
>
> Tabel med 2 kolonner:
>
> - GroupID
> - ParentID
>
> SELECT * FROM dbo.EcomGroupRelations WHERE ParentID='GROUP12'
>
> Giver fx. 2 poster:
>
> GROUP1,GROUP12
> GROUP2,GROUP12
>
> Nu skal jeg traversere resultatet, så jeg også får alle undergrupper:
>
> SELECT * FROM dbo.EcomGroupRelations WHERE ParentID='GROUP1'
> +
> SELECT * FROM dbo.EcomGroupRelations WHERE ParentID='GROUP2'
>
> Resultatet kunne fx være
> GROUP3,GROUP1
> GROUP4.GROUP1
> +
> GROUP5,GROUP2
> GROUP6,GROUP2
>
> Hvordan strikkes denne stored procedure bedst mulig sammen? Et link
> til noget lignende vil også være multo bien!
Hvis du ved at der altid er 2 niveauer så er det en simpel
self join.
SELECT egr2.id,egr2.parentid
FROM ecomgrouprelations egr1,ecomgrouprelations egr2
WHERE egr1.parentid='GROUP12' AND egr2.parentid=egr1.id
Arne