Drodzy Panowie i Panie,
baaardzo proszę o pomoc w prawidłowym zbudowaniu zapytania SQL
Chodzi o "Ilość rachunków zamkniętych od 30 września do 31 pazdziernika 2014"
kolumny: rachunek, stanumowy, dataumowy, czas
Małe wyjaśnienie: czas - data ostatniej modyfikacji rekordu (jeśli dataumowy jest Z, czas oznacza wtedy datę zamknięcia umowy)
stanumowy -> zwrócony wynik z bazy -> A, Z
A(AKTYWNA)
Z(ZAMKNIĘTA)
Nazwa tabeli: umowy
To co wymyśliłam w ciągu kilku godzin:
SELECT rachunek, stanumowy, dataumowy, czas
FROM umowy
WHERE dataumowy < '2014-11-01'
and stanumowy = 'Z'
or (czas > '2014-11-01')
Ale jest to niepoprawne zapytanie:| Wynik powinien zwracać 'czas > 2014
a zwraca dużo wcześniejszy 'czas', co jest błędnym wynikiem. Domyślam się, że błędny wynik jest przez to -> dataumowy < '2014-11-01' , ponieważ zwracane są umowy które były przed 2014 zawarte, co powoduje że czas jest <2014, a powinien być czas >2014
Mam wrażenie, że dataumowy "gryzie się" z kolumną 'czas', bo gdy dataumowy jest <2014 wtedy czas jest równiueż <2014 , nawet gdy wpiszę takie zapytanie jw ->(czas > '2014-11-01') .
Drugiego and'a nie mogę dać, a or chyba jest tu niepoprawny.
kombinuję z and'ami, na razie bez efektu
Mam nadzieję, że nie namąciłam :)
Z góry ogromnie dziękuję za pomoc, ja póki co nie mam na razie żadnych olśnień:(