Come selezionare da MySQL dove il nome della tabella è variabile

Ho un caso in cui ottenere il nome della tabella dovrebbe essere da una variabile impostata come:

SET @ID_1 = (SELECT ID FROM `slider` LIMIT 0,1); SET @Cat = (SELECT Category FROM `slider` LIMIT 0,1); select * from @Cat where ID = @ID_1 

ma facendo in quel modo MySQL genera un errore, quindi qualcuno potrebbe mostrarmi come posso ottenerlo, perché questi sono i miei piccoli passi in MySQL.

Dovresti farlo con una dichiarazione preparata . Qualcosa di simile a:

 SET @s = CONCAT('select * from ', @Cat, ' where ID = ', @ID_1); PREPARE stmt1 FROM @s; EXECUTE stmt1; DEALLOCATE PREPARE stmt1;