Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

seleção de nome de coluna dinâmica no MySql


O que você pode fazer é usar uma instrução preparada em seu procedimento armazenado que permitirá executar uma consulta de string:

Como um exemplo simples:
DELIMITER //
CREATE PROCEDURE selname (IN col VARCHAR(20))
BEGIN
  SET @sql = CONCAT('SELECT ', col, ' FROM tbl');
  PREPARE stmt FROM @sql;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END//
DELIMITER ;

Teste com esta Demonstração SQLFiddle