Przeczytałem wszystkie odpowiedzi tutaj i zajęło to trochę czasu, aby dowiedzieć się, co się dzieje. Poniżej znajduje się odpowiedź na pytanie: Moe Sisko i niektóre powiązane badania:
Jeśli twoje zapytanie SQL nie zwraca żadnych danych, nie ma pola z wartością pustą, więc ani ISNULL, ani COALESCE nie będą działać tak, jak chcesz. Dzięki kwerendom podrzędnym kwerenda najwyższego poziomu otrzymuje pole o zerowej wartości, a zarówno ISNULL, jak i COALESCE będą działały zgodnie z oczekiwaniami/oczekiwaniami.
Moje zapytanie
select isnull(
(select ASSIGNMENTM1.NAME
from dbo.ASSIGNMENTM1
where ASSIGNMENTM1.NAME = ?)
, 'Nothing Found') as 'ASSIGNMENTM1.NAME'
moje zapytanie z komentarzami
select isnull(
--sub query either returns a value or returns nothing (no value)
(select ASSIGNMENTM1.NAME
from dbo.ASSIGNMENTM1
where ASSIGNMENTM1.NAME = ?)
--If there is a value it is displayed
--If no value, it is perceived as a field with a null value,
--so the isnull function can give the desired results
, 'Nothing Found') as 'ASSIGNMENTM1.NAME'
Obecnie to właśnie robię. Sprawdź, czy liczba rekordów jest pusta, czy nie. Pomyślałem, że to może być sposób na skrócenie mojego czeku. – Matt