problemer med SELECT in SELECT
Min tabel hedder SSS_Firm og ser således ud:Firm_ID Firm_Parent Firm_Name
1 0 LanParty A/S
2 3 Ny Mægler A/S
3 0 Ged Farmer
4 0 LoopALike
5 0 MiniWillis
6 0 WillisTop
7 0 CocaCola Mægler
8 0 Colgate Mægler
9 6 Willis3
10 6 Willis2
11 6 Willis1
12 4 LoopALike
Jeg vil så gerne selecte alle Firm_ID som i dette tilfælde er 6, og alle dens childs(alle dem som har tallet 6 i Firm_Parent-kolonnen.
Min select ser således ud:
SELECT RS1.Firm_ID, RS1.Firm_Parent, RS1.Firm_Name
FROM SSS_Firm RS1
WHERE (RS1.Firm_ID = 10) OR
(RS1.Firm_ID IN
(SELECT RS2.Firm_ID
FROM SSS_Firm AS RS2
WHERE (RS2.Firm_Parent = RS1.Firm_ID OR
((RS2.Firm_Parent = RS1.Firm_Parent) AND
(RS2.Firm_Parent <> 0)))))
Den selecter dette her:
Firm_ID Firm_Parent Firm_Name
2 3 Ny Mægler A/S
9 6 Willis3
10 6 Willis2
11 6 Willis1
12 4 LoopALike
hvilket er forkert, da jeg gerne vil selecte Firm_ID = 6 og Firm_Parent = 6, altså alle Willis-selskaber.
Nogen der kan se fejlen???
