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

Dynamisk konvertering af streng til kolonnenavn. MySQL

Du vil måske se svaret på dette spørgsmål , hvilket jeg tror er, hvad du prøver at opnå. Kort sagt foreslår svaret at bruge forberedte udsagn for at simulere en eval()-agtig funktionalitet. I dit tilfælde kan dette virke (du kan se SQLFiddle her :

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;

Jeg vil ikke hævde at være nogen form for ekspert i den underliggende mekanik på arbejde, men ifølge kommentarerne ser det ud til at nå målet. Igen, dette blev overtaget fra et andet svar, så hvis det virker, så sørg for at give +1 til det :)



  1. mysql unikke nummergenerering

  2. Sådan gør du limit offset dynamisk ved kun at bruge (My)SQL

  3. Bruger du Django databaselag uden for Django?

  4. Optimering af en haversine-formel SQL-kald i PHP