Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql compte les enregistrements de deux tables dans une requête ?

Je pense que cela devrait fonctionner en supposant que vos tsId et paId sont des clés uniques :

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

Et voici le SQL Fiddle .

Remarque :le problème de ne pas se joindre à la table de compte (et de l'utiliser comme table principale) est que si la table de test ou la table de patient n'ont pas de données pour un identifiant de compte spécifique, la requête renverra 0 résultats pour chacun - - qui pourrait être incorrect.