Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Count (*) trả về null

Truy vấn của bạn đang thực hiện một phép nối bên ngoài trong khi cố gắng thực hiện một số lượng. Nếu B.UserId được liệt kê là NULL, thì số đếm (*) cũng sẽ trả về NULL. Bạn có thể khắc phục điều này bằng cách thực hiện đếm A một cách rõ ràng bằng cách sử dụng "count (A. *)" hoặc bằng cách gói nó trong ISNULL ().

select A.UserId, B.UserId, count(A.*)
  from select tableA A 
  left outer join tableB B
    on A.UserBNumber = B.Number
 group by A.UserId, B.UserId   

hoặc

select A.UserId, B.UserId, isnull(count(*),0)
  from select tableA A 
  left outer join tableB B
    on A.UserBNumber = B.Number
 group by A.UserId, B.UserId   


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giới thiệu các biểu thức bảng phổ biến trong SQL Server

  2. Cột đầu ra tên XML UNION FOR XML

  3. Khôi phục cơ sở dữ liệu từ chế độ khẩn cấp trong SQL Server

  4. Lỗi cài đặt SQL Server 2008:Các bản phát hành trước của Microsoft Visual Studio 2008

  5. Chuyển danh sách <> sang thủ tục lưu trữ SQL