[ dado49 @ 21.05.2006. 15:43 ] @
Dali neko moze da mi pomogne da malo pojednostavim ovaj kod:

SELECT COUNT(*) AS number
FROM sd_Person
WHERE (cpr IN
(SELECT cpr
FROM sd_person_profession
WHERE til_dato > getdate()))

AND (cpr IN
(SELECT cpr
FROM sd_person_department
WHERE til_dato > getdate() AND departmentcode IN
(SELECT level0code
FROM sd_organization
WHERE level3code = 'IT-S') AND cpr IN
(SELECT cpr
FROM sd_person_status
WHERE til_dato > getdate() AND statuskode NOT IN ('3', '7', '8', '9') AND
sd_person_status.institutionskode = sd_person_status.institutionskode AND
sd_person_status.tjenenumb= sd_person_status.tjenenumb))) AND (cpr <> '0000000000')
[ lampica @ 21.05.2006. 21:21 ] @
Citat:
dado49: AND sd_person_status.institutionskode = sd_person_status.institutionskode
AND sd_person_status.tjenenumb= sd_person_status.tjenenumb)))


Meni se čini da ti je ovo nepotrebno, ali teško je reći sa sigurnošću, pošto ne znam kako ti izgledaju tabele i podaci u njima.
Moja sugestija je da napišeš upit koristeći spajanje tabela (JOIN), tako će sigurno biti čitljiviji i jednostavniji.
[ chachka @ 22.05.2006. 12:36 ] @
Code:

SELECT COUNT(*) AS number
  FROM sd_Person
 WHERE cpr <> '0000000000' 
   AND cpr IN (SELECT cpr
                 FROM sd_person_department
                WHERE til_dato > getdate()
                  AND departmentcode IN (SELECT level0code
                                           FROM sd_organization
                                          WHERE level3code = 'IT-S'
                                        )
                  AND cpr IN (SELECT cpr
                                FROM sd_person_status
                               WHERE til_dato > getdate()
                                 AND statuskode NOT IN ('3', '7', '8', '9')
                             )
              )


[Ovu poruku je menjao chachka dana 22.05.2006. u 13:51 GMT+1]