[ memphis @ 13.05.2006. 16:37 ] @
Znam da sam imao slican post, ali sada je problem malo drugaciji.
LM, imam formu koja se otvara na osnovu upita (u njemu postoji klauzula count i dobijeni broj se mnozi sa nekim drugim kako bi se dobio krajnji rezultat).
Problem je kada upit ne vraca vrednost, odnosno kada za zadati kriterijum count nema sta da broji. Probao sam sa Nz funkcijom, ali ne radi.
U principu, problem je kako da 'nateram' upit da mi umesto nicega izbaci nulu.
Pozdrav i hvala.
Vlada :)
[ goranvuc @ 13.05.2006. 19:37 ] @
Jesi ti siguran da ti COUNT() vraca NULL vrednost? To bi trebalo da je nemoguce jer COUNT() za nepostojece redove ili NULL vrednosti vraca 0, vec je vrlo verovatno da broj sa kojim mnozis u izrazu ima NULL vrednost. Ja inace kod Access-a ne koristim Nz() vec:

Code:

SELECT IIF(ISNULL(NekoPolje), 0, NekoPolje) AS NestoStoNijeNull FROM NekaTabela
[ memphis @ 14.05.2006. 00:35 ] @
Izbacio sam sve iz SELECT upita umesto naredbe count, ubacio IIF, ali opet upit ne vraca 0 kada nema podataka.

Code:
SELECT IIF(ISNULL(Count([Prijava ispita].[broj u registru])), 0, (Count([Prijava ispita].[broj u registru]))) AS [Broj izlazaka]


U cemu onda moze biti problem? Tabele?
[ chachka @ 14.05.2006. 01:19 ] @
Da li koristis GROUP BY klauzulu?

Predpostavimo da imamo tabelu pod imenom 'neka_tabela' sa jednim atributom 'neki_atribut'.

Upit:
Code:

SELECT COUNT(neki_atribut)
  FROM neka_tabela
 WHERE true = false
 GROUP BY neki_atribut

ce vratiti rezultat NULL.


Upit:
Code:

SELECT COUNT(neki_atribut)
  FROM neka_tabela
 WHERE true = false

ce vratiti rezultat 0 (nula).



Chachka
[ goranvuc @ 14.05.2006. 07:00 ] @
Nisi mi odgovorio da li si proverio drugu mogucnost (broj sa kojim mnozis u izrazu ima NULL vrednost) koju sam ti naveo? Takodje je bitno i ovo sto ti je chachka rekao, stavi slobodno ceo SQL upit na forum, nemoj da se stidis :). Ne mozemo ti pomoci ako nam ne izlozis ceo problem, jer problem cesto nije tamo gde ti mislis, vec na nekom drugom mestu.

Pozdrav!

Inace, ako je broj kojim mnozis iz tabele koja ne zadovoljava join koji je postavljen upit moze vratiti vrednost NULL iako ta vrednost u tabeli postoji. Da pojednostavim, da li si siguran da za polje kojim mnozis COUNT() imas postavljene takve JOIN-ove u SQL upitu koji garantuju da svaki red ima za to polje vrednost koja nije NULL?


[Ovu poruku je menjao goranvuc dana 14.05.2006. u 08:09 GMT+1]
[ memphis @ 15.05.2006. 17:52 ] @
Hahahaha. Ma, ne stidim se, ali sam resio problem. Frka je bila oko group by. Malo sam korigovao upit i sada savrseno radi. Hvala puno obojici.
Pozdrav, Vlada :-)