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

mysql conta registros de duas tabelas em uma consulta?


Acho que isso deve funcionar supondo que seu tsId e paId sejam chaves exclusivas:
SELECT Count(DISTINCT t.tsID) AS tsCount, 
    Count(DISTINCT p.paID) AS paCount
FROM account a 
    LEFT JOIN test t ON a.acId = t.tsAccountId
    LEFT JOIN patient p ON a.acId = p.paAccountId
WHERE a.acId = 1

E aqui está o SQL Fiddle .

Observe:o problema de não ingressar na tabela de contas (e usá-la como tabela mestre) é que, se a tabela de teste ou a tabela do paciente não tiver dados para um ID de conta específico, a consulta retornará 0 resultados para cada - - o que pode estar incorreto.