Có thể sử dụng CASE để trả về một chuỗi nhất định nếu không có kết quả từ câu lệnh SELECT của tôi không?Sử dụng CASE để trả về một chuỗi Nếu không có kết quả từ câu lệnh SELECT
Ví dụ:
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
Ở trên không làm việc vì nếu số tài khoản tôi đang tìm kiếm là không có mặt trong bảng nhật ký của tôi thì sẽ không có kết quả và thông báo 'Chúng tôi không có hồ sơ Đối với khách hàng này 'sẽ không bao giờ thực hiện.
Tôi có thể làm những gì tôi đang cố gắng để đạt được bằng T-SQL thuần túy với lệnh PRINT, nhưng tôi đang làm việc với ứng dụng của bên thứ 3 và kết quả phải ở dạng bảng (do đó chỉ có câu lệnh SELECT).
Có thể có được nhiều hơn một bản ghi tương ứng cho một 'account' trong 'call_records'? Nếu vậy bạn chỉ muốn một kết quả hàng duy nhất? –
@MartinSmith: Lưu ý dòng cuối cùng của truy vấn được cung cấp (tôi đã bỏ lỡ nó khi lần đầu đọc câu hỏi). –
@MarkBannister - Tốt. Ngay cả khi có thì nó sẽ trả về một hàng duy nhất. –