Realmente no puedes hacerlo en un solo SQL declaración.
Estás intentando usar data (valor de campo) como metadata (nombre de la tabla) y SQL no permite esto.
Puede dividirlo en dos declaraciones o escribir SQL dinámico en un procedimiento almacenado. Tenga en cuenta que no todas las capas de cliente admiten la devolución de conjuntos de resultados de procedimientos almacenados.