Tôi đang cố gắng để tổng hợp số dư khách hàng sử dụng các truy vấn sau đây:Truy vấn SUM Chọn của tôi trả về giá trị rỗng. Nó sẽ trả về 0
select sum(balance) from mytable where customer = 'john'
Tuy nhiên, nếu khách hàng không có cân bằng (tức là không có hàng tương ứng trong bảng mytable
), truy vấn của tôi trả về null và không phải 0. Vấn đề là gì?
COALESCE tốt hơn rất nhiều ở đây thì isnull –
@ScottSelby: Làm thế nào? AFAIK, 'isnull' dễ dự đoán hơn ở chỗ nó luôn trả về kiểu dữ liệu của đối số đầu tiên. – Andomar
@Andomar "Một biểu thức liên quan đến ISNULL với tham số không null được coi là NOT NULL, trong khi các biểu thức liên quan đến COALESCE với các tham số không null được coi là NULL" - Tôi luôn sử dụng COALESCE, nó sẽ luôn luôn bắt null số dư không được vô hiệu –