Cita: Por este motivo pense en una variable debido a que el valor se le especifica desde afuera
Perfectamente comprendido. Pero parece que lo que no te resulta claro es que MyQL
no permite que se usen variables para indicar tablas, campos u otras cosas, y crear dinámicamente sentencias. A diferencia de SQL Server y Oracle, por nombrar dos de ellos, no toma una cadena de texto que contiene una sentencia y la ejecuta como tal. Se necesitan otro tipo de objetos.
MySQL cuenta para eso con un recurso que se denomina "sentencias preparadas", y es la única forma de manejar dinámicamente la creación de una consulta, basada en parámetros, como lo planteas. Por eso Leonardo te posteó ese link: Para que lo veas y analices.
Un tema a revisar es que donde las sentencias preparadas se manejan con mayor facilidad es con un stored procedures, por lo que cabe la pregunta: ¿Por qué no un SP? Eso es algo que no has contestado.