Vous pouvez certainement utiliser l'instruction Select Agregation comme l'a suggéré Ben James, mais vous obtiendrez alors une vue comportant autant de colonnes que de tables. Une autre méthode pourrait être la suivante :
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;
L'avantage d'une telle approche est que vous pouvez écrire explicitement les instructions d'union et générer une vue ou créer une table temporaire pour contenir les valeurs qui sont ajoutées consécutivement à partir d'un processus en utilisant des variables à la place des noms de table. J'ai tendance à opter pour cette dernière solution, mais cela dépend vraiment des préférences personnelles et de l'application. Si vous êtes sûr que les tables ne changeront jamais, que vous voulez les données dans un format à une seule ligne et que vous n'ajouterez pas de tables, optez pour la solution de Ben James. Sinon, je vous conseille la flexibilité, vous pouvez toujours pirater une structure à onglets croisés.
0 votes
Pour les tables MyISAM, il existe même une bien meilleure méthode, voir ma réponse, qui est plus rapide.