Sin duda, nos puede a la declaración Select Agregation como Postulado por Ben James, Sin embargo, esto dará como resultado una vista con tantas columnas como tablas tenga. Un método alternativo puede ser el siguiente:
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;
Lo bueno de un approch como esto es que se puede escribir de forma explícita las Declaraciones de la Unión y generar una visión o crear una tabla temporal para contener valores que se agregan de forma consecutiva desde una Procesa usar variables en lugar de los nombres de su tabla. Tiendo a ir más con esto último, pero realmente depende de la preferencia personal y la aplicación. Si está seguro de que las tablas nunca cambiarán, querrá los datos en un formato de fila única, y no agregará tablas. quédate con la solución de Ben James. De lo contrario, recomendaría flexibilidad, siempre puede hackear una estructura de tabulación cruzada.
Para las tablas MyISAM hay una forma mucho mejor, ver mi respuesta, que es más rápida. – Pentium10