Count(Distinct)... - problem!
06.11.2006. u 15:11 · pre 243 meseci
#1
Pozdrav drugari, evo me opet sa mojim problemčićima. Naime, ako imam sledeću tabelu:
Potrebno mi je da saznam koliko dana u mesecu je svaki radnik upisivao sate, tj. da za na primer ID_Employee=1 dobijem odgovor 3.
E sad, napravio sam ugnjezdeni upit koji vrši pos'o i glasi:
Moje pitanje je: Da li može (i kako?) da se optimizuje ovaj upit, da ne bude ugnježden, s obzirom da se često izvršava i da je brzina kritičan parametar? Probao sam "SELECT COUNT(DISTINCT ..." ali Access izgleda da ne podržava ovakvu strukturu.
Svaka pomoć je dobrodošla!
Code:
+----------+----+-----------+
|Datum |Sati|ID_employee|
|02.10.2006| 2| 1|
|03.10.2006| 3| 2|
|03.10.2006| 5| 3|
|03.10.2006| 1| 1|
|04.10.2006| 0,5| 2|
|05.10.2006| 1| 1|
+----------+----+-----------+
+----------+----+-----------+
|Datum |Sati|ID_employee|
|02.10.2006| 2| 1|
|03.10.2006| 3| 2|
|03.10.2006| 5| 3|
|03.10.2006| 1| 1|
|04.10.2006| 0,5| 2|
|05.10.2006| 1| 1|
+----------+----+-----------+
Potrebno mi je da saznam koliko dana u mesecu je svaki radnik upisivao sate, tj. da za na primer ID_Employee=1 dobijem odgovor 3.
E sad, napravio sam ugnjezdeni upit koji vrši pos'o i glasi:
Code:
SELECT COUNT(*) FROM
(SELECT day(datum) as dani
FROM Tabela
WHERE month(datum) =10 and year(datum)=2006 and id_employee=1
GROUP BY(day(datum)))
SELECT COUNT(*) FROM
(SELECT day(datum) as dani
FROM Tabela
WHERE month(datum) =10 and year(datum)=2006 and id_employee=1
GROUP BY(day(datum)))
Moje pitanje je: Da li može (i kako?) da se optimizuje ovaj upit, da ne bude ugnježden, s obzirom da se često izvršava i da je brzina kritičan parametar? Probao sam "SELECT COUNT(DISTINCT ..." ali Access izgleda da ne podržava ovakvu strukturu.
Svaka pomoć je dobrodošla!
Potpis
Bolje 100 godina biti milioner nego nedelju dana siromašak
(c) Alan ford
(c) Alan ford