Posted By: martas (Ach jo , no jo :-))) on 'CZriddles'
Title:     SQL problem
Date:      Wed Nov 13 14:25:00 2002

Potrebuju vytvorit SQL dotaz, reseni posilejte klidne sem.

Mam tabulku A s dvema sloupcema - ID (identifikator zaznamu) a PARENT_ID 
(ukazatel na predka, muze byt NULL). Cela tabulka tedy tvori mnozinu stromu.

Potrebuju dotaz ktery mi vybere vsechny radky tabulky A a ke kazdemu bude 
dopocitany pocet potomku. (Pocet zaznamu vybranych timto selectem se bude 
shodovat s poctem zaznamu v tabulce A).

Zatim mam takoveto reseni :

select x.ID, count(y.ID)
from A x, A y
where x.ID = y.PARENT_ID
group by x.ID

Problem je ten, ze tenhle select nevybere zaznamy, ktere maji 0 potomku. 
Takze moje prozatimni reseni spociva ve vyuziti UNIONu se selectem, ktery mi 
vybere zaznamy bez potomku.
Tohle reseni se mi ale moc nelibi, byl bych rad, kdyby to slo vybrat jednim 
slozenym selectem.

Mate nekdo nejaky napad?

Martas 

Search the boards