Vous pouvez certainement utiliser l'instruction Sélectionner une agrégation telle que postulée par Ben James. Cependant, cela donnera une vue avec autant de colonnes que de tables. Une autre méthode peut être comme suit:
SELECT COUNT(user_table.id) AS TableCount,'user_table' AS TableSource FROM user_table
UNION SELECT COUNT(cat_table.id) AS TableCount,'cat_table' AS TableSource FROM cat_table
UNION SELECT COUNT(course_table.id) AS TableCount, 'course_table' AS TableSource From course_table;
La bonne chose à propos d'un approch comme celui-ci est que vous pouvez écrire explicitement les déclarations de l'Union et de générer une vue ou créer une table temporaire pour contenir des valeurs qui sont ajoutés consécutivement à partir d'un Processus utilisant des variables à la place des noms de vos tables. J'ai tendance à aller plus avec ce dernier, mais cela dépend vraiment de la préférence personnelle et de l'application. Si vous êtes sûr que les tables ne changeront jamais, vous voulez que les données soient dans un format à une seule ligne, et vous n'ajouterez pas de tables. coller à la solution de Ben James. Sinon, je conseillerais la flexibilité, vous pouvez toujours pirater une barre transversale.
Pour les tables MyISAM, il existe même un bien meilleur moyen, voir ma réponse, qui est plus rapide. – Pentium10