Ciekawy problem. No row returned, a chce żeby zwrócił 0

0

Witam. Mam ciekawy problem. Mam taką sytuację że mam select'a którego umieszczę poniżej:

select decode(ilosc,null,0),1 from ap_dokumenty_obrot_it doobi
where inma_id = 4427
AND data_real between '01-sty-2007' AND '31-gru-2007'
AND (doobi.doob_tydo_id = 19
OR doobi.doob_tydo_id = 34)

Select nic nie zwraca, ponieważ nie są spełnone waruniki. Czy jest jakaś funkcja lub konstrukcja aby w takim przypadku zostało zwrócone np. 0? Zagiął mnie ten problem, który wydawałby sie prosty:) Nie chodzi mi tutaj o funkcję decode bo ona tu nie pomaga.
Proszę o jakąś poradę. Z góry dzięki

0

mozesz pokombinowac tak:

select case when exists(tu twoje zapytanie) 
  then zapytanie
else
  0
end

Chyba zaden silnik nie wykona tego zapytania 2 razy, tylko skorzysta z cache'a, ale nie wiem na czym pracujesz.

0

a nie lepiej zrobić counta - i tak tam zwracasz 1

0

A nie można tego inaczej zrobić. Ja nie mogę stosować tych konstrukcji case i to jest problem :/ . Nie można tego jakoś inaczej zrobić??

0

Z tym countem próbowałem i nie wychodzi. WŁasnie dlatego dałem tą 1 żeby to counetm zliczyć i nic. Dalej zwraca mi no rows returned

0

Nie chce mi się tego sprawdzać, ale nie da się po prostu zrobić:

SELECT COUNT(*) FROM (TUTAJ TWÓJ SELECT) ???

0
b0bik napisał(a)

Nie chce mi się tego sprawdzać, ale nie da się po prostu zrobić:

SELECT COUNT(*) FROM (TUTAJ TWÓJ SELECT) ???

Świetne. Dzięki wielkie. Takie proste, a jednak potrafi pomęczyć. Zadziałało :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1