Mysql
 sql >> Datenbank >  >> RDS >> Mysql

dynamische Spaltennamensauswahl in MySql

Sie können eine vorbereitete Anweisung in Ihrer gespeicherten Prozedur verwenden, mit der Sie eine Zeichenfolgenabfrage ausführen können:

Als einfaches Beispiel:

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 ;

Testen Sie es mit dieser SQLFiddle-Demo