Ik kan het niet echt makkelijk uitleggen in een topictitel, dus even uitleg.
Ik heb een tabel 'icons' met daarin allemaal gegevens van een boomstructuur over procesbeschrijvingen. Nu is de hierarchy als volgt opgebouwd:
- proces
-acties
-acties
-proces
etc.
Nu zitten er ook lege processen bij die nog niet beschreven zijn en daar ben ik niet in geintresseerd. De hierarchy is opgebouwd doordat elk record een parentID meekrijgt en elk record een iconType heeft. Voor processen is dit 103 en voor acties is dit tussen de 1 en de 8 (er zijn meerdere soorten acties).
Hoe kan ik nu met 1 SQL statement ervoor zorgen dat ik alleen de beschreven processen filter? Dus alleen de processen die onder zich records hebben hangen met icontypes tussen de 1 en de 8.
Ik kan wel heel simpel alle beschreven proces parentID's opvragen d.m.v.:
SELECT DISTINCT FK_ParentID FROM icons WHERE IconType BETWEEN 1 AND 8;
Maar dan moet ik dus weer een extra query doen voor elk ParentID om Naam van het ParentID te achterhalen. Maar hoe doe ik dit in 1 query? Dat moet toch mogelijk zijn?
Moet ik dit doen met een EXIST funtie of iets dergelijks??
EDIT: Oops...volgens mij is het helemaal niet zo moeilijk. Gewoon Select IconName FROM icons WHERE IconID IN (vorige query)
Ik heb een tabel 'icons' met daarin allemaal gegevens van een boomstructuur over procesbeschrijvingen. Nu is de hierarchy als volgt opgebouwd:
- proces
-acties
-acties
-proces
etc.
Nu zitten er ook lege processen bij die nog niet beschreven zijn en daar ben ik niet in geintresseerd. De hierarchy is opgebouwd doordat elk record een parentID meekrijgt en elk record een iconType heeft. Voor processen is dit 103 en voor acties is dit tussen de 1 en de 8 (er zijn meerdere soorten acties).
Hoe kan ik nu met 1 SQL statement ervoor zorgen dat ik alleen de beschreven processen filter? Dus alleen de processen die onder zich records hebben hangen met icontypes tussen de 1 en de 8.
Ik kan wel heel simpel alle beschreven proces parentID's opvragen d.m.v.:
SELECT DISTINCT FK_ParentID FROM icons WHERE IconType BETWEEN 1 AND 8;
Maar dan moet ik dus weer een extra query doen voor elk ParentID om Naam van het ParentID te achterhalen. Maar hoe doe ik dit in 1 query? Dat moet toch mogelijk zijn?
Moet ik dit doen met een EXIST funtie of iets dergelijks??
EDIT: Oops...volgens mij is het helemaal niet zo moeilijk. Gewoon Select IconName FROM icons WHERE IconID IN (vorige query)
[ Voor 11% gewijzigd door armageddon_2k1 op 06-01-2006 13:20 ]
Engineering is like Tetris. Succes disappears and errors accumulate.