sql >> Databáze >  >> RDS >> Sqlserver

Count(*) vrátí hodnotu null

Váš dotaz provádí vnější spojení při pokusu o provedení počítání. Pokud je B.UserId uvedeno jako NULL, pak count(*) vrátí také hodnotu NULL. Můžete to opravit tak, že explicitně provedete počet A pomocí "count (A.*)" nebo to zabalíte do 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   

nebo

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. Jak používat výčty v Oracle?

  2. Vytahování obrazových dat BLOB z MySQL v PHP

  3. Kde podmínka pro spojenou tabulku v Sequelize ORM

  4. JPA SQL Server Mapování bez dialektu pro typ JDBC:-9