Zero zwróconych wierszy - można obejść?

0

Witam. Mam taki problem. W wyniku zapytania zostaje zwróconych zero wierszy. Czyli nic nie znalazł. Jak mogę się zabezpieczyć przed tym. Chcę żeby nawet jeśli nie ma żadnych odpowiadających wierszy coś mi zwrócił, np cyfre 0 w przypadku gdy nic nie znalazł. Jest taka możliwość w sql? Nie mogę stosować skryptów i konstrukcji typu if else. Proszę o rady

0

Ale zapytanie zwraca wiersz(e), jak moze w takim razie zwrocic Ci cyfre? ;) To po stronie klienta bazy powinno byc sprawdzanie co zostalo zwrocone.

0

Nie mogę stosować skryptów i konstrukcji typu if else

chodzi ci o to że nie możesz stosować skryptów, a w nich tych konstrukcji, czy w sql'u nie możesz stosować if'a? Bo jeśli tylko to pierwsze, to można w sql'u śmiało if'a używać;)

0

A if exists(select costam from Tabela) pomoże?

0
SELECT ISNULL(col1 , 0)
FROM tabela 
WHERE warunek

i w zaleznosci od typu col1 ustawiasz 0 lub '0'

lub z EXISTEM

IF EXISTS (SELECT col1 FROM tabela WHERE warunek)
  SELECT col1 FROM tabela WHERE warunek
ELSE
  SELECT 0
0

@crowa - pierwszy przykład kodu nic nie zwróci. Pusty rekord nie zwraca null. Zadziała tylko exists...

0

no to inaczej (faktycznie chyba cos zle przemyslalem z isnullem)

SELECT TOP 1 X.*
FROM
(SELECT col1 from Tabela
 WHERE warunek
UNION ALL -- koniecznie ALL
 SELECT 0
)

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