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
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
)