Mysql
 sql >> Database >  >> RDS >> Mysql

selezione dinamica del nome della colonna in MySql

Quello che puoi fare è utilizzare un'istruzione preparata all'interno della tua procedura memorizzata che ti consentirà di eseguire una query di stringa:

Come semplice esempio:

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 ;

Provalo con questa SQLFiddle Demo