Bartosz
Ślepowronski
Problem? Jaki
problem?
Temat: [MS SQL] Zagadka - czemu select nie zwraca wyniku
Na pewno chodzi o cos bajecznie prostego, ale jakos nie potrafie dostrzec przyczyny, moze pomozecie? :)Oto wyciag z tabeli:
resourceid longname site statuscode activitycode projectclass days
---------------------- -------------------------------------------------------------------------
ADAMCLARKE Adam Clarke INTERNATIONAL A WORK SER 14.40
ADAMCLARKE Adam Clarke INTERNATIONAL A WORK SER 9.33
ADAMLCLARKE Adam Clarke INTERNATIONAL E null INT 1.47
To SQL jaki na niej wykonuje (czesc wiekszego selecta, ale akurat ta czesc nie dziala):
select resourceid, longname, sum(days) days
from tabela
where statuscode <> 'R'
and projectclass in ('INT','NON')
and activitycode not in ('PTO', 'Holiday','SICK','CTO','APPTRAIN')
group by resourceid, longname
(0 row(s) affected)
Dlaczego zero? Zapytanie uwala ta linia:
and activitycode not in ('PTO', 'Holiday','SICK','CTO','APPTRAIN')
IMO jesli wiersz jest null to zdecydowanie nie znajduje sie na tej liscie. Problem rozwiazuje podmienie null w activitycode na jakas wartosc, wiec obejscie probemu nie sprawia klopotow, ale nie rozumiem czemu zapytanie dziala tak a nie inaczej.?
W books online nie ma zadnej informacji o NOT IN zachowujacym sie jakos odmiennie dla nulli.Bartosz S edytował(a) ten post dnia 03.06.09 o godzinie 13:51