Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Contar todos os registros que não existem para outra tabela - SQL Query


Aqui está uma solução alternativa usando junções:
SELECT COUNT(*)
FROM Table1_delta t1 LEFT JOIN Table1 t2
ON t1.pagename = t2.pagename
WHERE t2.status IS NULL OR t2.status = 1

Aqui está a aparência da tabela temporária da consulta acima:
+-----------+--------+
| pagename  | status |
+-----------+--------+
| pagename1 |  2     |    # this row is NOT counted
| pagename2 |  1     |    # +1 this row has status = 1 and is counted
| pagename3 |  null  |    # +1 this row has status = null and is counted
| pagename4 |  null  |    # +1 this row is also null and is counted
+-----------+--------+

Confira o link abaixo para uma demonstração em execução.

SQLFiddle