Czy można użyć CASE, aby zwrócić określony ciąg, jeśli nie ma wyników z mojej instrukcji SELECT?Używanie CASE do zwracania ciągu znaków, jeśli nie ma wyników z instrukcji SELECT
Przykład:
DECLARE @accountnumber AS VARCHAR(10)
SET @accountnumber = 'account number to search'
SELECT
CASE
WHEN account IS NOT NULL
THEN 'We Have Records of this Customer'
WHEN account IS NULL
THEN 'We Do Not Have Records For This Customer'
END AS 'result'
FROM call_records
WHERE account = @accountnumber
GROUP BY account
Powyższe nie działa, ponieważ jeśli numer konta szukam nie jest obecny w moim stole dzienników wtedy nie byłoby żadnych rezultatów i komunikat „Nie mamy Records Dla tego klienta "nigdy by się nie zmaterializował.
Potrafię zrobić to, co próbuję osiągnąć za pomocą czystego T-SQL za pomocą polecenia PRINT, ale pracuję z aplikacją innej firmy, a wyniki muszą być w formie tabeli (więc tylko instrukcje SELECT).
Może istnieć więcej niż jeden pasujący rekord dla 'rozliczeniowa w' call_records'? Jeśli tak, to po prostu chcesz uzyskać wynik w jednym wierszu? –
@MartinSmith: Zwróć uwagę na ostatnią linijkę dostarczonego zapytania (pominięte, gdy po raz pierwszy przeczytałem pytanie). –
@MarkBannister - Dobry punkt. Nawet jeśli są, to zwróci pojedynczy wiersz. –