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

Conversão dinâmica de string em nome de coluna. MySQL


Você pode querer ver a resposta para esta pergunta , que acredito ser o que você está tentando realizar. Em suma, a resposta sugere o uso de instruções preparadas para simular uma funcionalidade eval()-esque. No seu caso, isso pode funcionar (você pode ver o SQLFiddle aqui :
SELECT transaction_type FROM orders WHERE id=1 into @colname;
SET @table = 'items';
SET @query = CONCAT('SELECT ',@colname,' FROM ', @table);

PREPARE stmt FROM @query;
EXECUTE stmt;

Não pretendo ser nenhum tipo de especialista na mecânica subjacente no trabalho, mas pelos comentários parece atingir o objetivo. Novamente, isso foi adotado de outra resposta, portanto, se funcionar, certifique-se de marcar com +1 essa :)