Mysql
 sql >> база данни >  >> RDS >> Mysql

Динамично преобразуване на низ в име на колона. MySQL

Може да искате да видите отговора на този въпрос , което вярвам, че се опитвате да постигнете. Накратко, отговорът предлага използването на подготвени оператори, за да се симулира функционалност в стил eval(). Във вашия случай това може да работи (можете да видите SQLFiddle тук :

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;

Няма да твърдя, че съм някакъв експерт по основната механика на работа, но според коментарите изглежда постига целта. Отново, това е възприето от друг отговор, така че ако работи, не забравяйте да +1 този :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не мога да се свържа с отдалечен MySQL сървър с грешка 61

  2. Как да използвам ПРИ АКТУАЛИЗИРАНЕ НА ДУБЛИРАН КЛЮЧ в моя модел CodeIgniter?

  3. Как да създадете GraphQL API без сървър за MySQL, Postgres и Aurora

  4. Автоматично увеличение на SQL по дата и час

  5. имплементирайте LIKE заявка в PDO