Một cái gì đó như thế này có thể làm. Tôi không có nhiều 'bản ghi' để kiểm tra điều này, nhưng tôi đã thử một phiên bản đã được chỉnh sửa một chút và ý tưởng cơ bản dường như hoạt động.
Tạo chuỗi truy vấn trong một biến, sau đó sử dụng câu lệnh đã chuẩn bị sẵn để thực thi nó.
SELECT @query:=CONCAT(
'select count(*) from ('
, GROUP_CONCAT( CONCAT( y.prefix, x.table_schema, y.postfix ) SEPARATOR ' UNION ALL ' )
, ') as total_count' )
FROM (
SELECT DISTINCT table_schema
FROM information_schema.tables
WHERE table_schema LIKE '%dog%'
) AS x
JOIN (
SELECT
'select * from ' AS prefix
, '.log where insane = 1' AS postfix
) AS y
;
-- SELECT @query AS Query;
PREPARE STMT FROM @query;
EXECUTE STMT;
DEALLOCATE PREPARE STMT;