Witam,
mam problem ze stworzeniem zapytania zliczającego ilość rekordów z tabeli wedle określonego kryterium.
Korzystam z InterBase SQL w wersji 6.0. Interfejs do bazy mam w Borland Builder C++ 2009, ale to mniej istotne. Baza zawiera kilka tabel i jeden widok (VIEW) prezentujący dane z trzech tabel.
Widok SZCZEGOLY wygląda w dużym uproszczeniu tak:
ADRES | NR DOMU | CENA |
---|---|---|
Ulica1 | 23 | 2000 |
Ulica1 | 24 | 3000 |
Ulica2 | 30 | 2000 |
Ulica2 | 70 | 2500 |
Ulica2 | 91 | 3000 |
Ulica3 | 82 | 1000 |
Ulica3 | 23 | 2000 |
Potrzebuje napisać zapytanie SQL które wyliczy z widoku SZCZEGOLY ilość rekordów gdzie np.: CENA>2400, pogrupowanych wedle ADRESU. Czyli wynik zapytania powinien wyglądać tak: | ||
ADRES | ILOSC | |
---------------- | ---------------- | |
Ulica1 | 1 | |
Ulica2 | 2 | |
Ulica3 | 0 | |
Zapytanie to mogłoby wyglądać np. tak: | ||
select ADRES, count(CENA>2400) as ILOSC from SZCZEGOLY group by ADRES |
Jednak oczywiście wyrażenie count(CENA>2400) jest niedopuszczalne.
Próbowałem tego dokonać za pomocą procedur, ale nie jestem aż tak zaznajomiony z językiem SQL i szczerze powiedziawszy procedur nie znam :-(
Czy ma ktoś jakiś pomysł jak to ugryźć? I czy jeśli bez procedur się nie obejdzie, mógłby ktoś mnie ukierunkować co i jak się do tego zabrać?
Bardzo proszę o pomoc :-)