sql >> Database >  >> RDS >> Mysql

Dynamische conversie van string naar kolomnaam. MySQL

Misschien wil je het antwoord op deze vraag zien , wat volgens mij is wat je probeert te bereiken. Kortom, het antwoord suggereert het gebruik van voorbereide instructies om een ​​eval()-achtige functionaliteit te simuleren. In jouw geval kan dit werken (je kunt de SQLFiddle hier zien :

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;

Ik zal niet beweren een expert te zijn op het gebied van de onderliggende mechanica op het werk, maar volgens de opmerkingen lijkt het doel te bereiken. Nogmaals, dit is overgenomen van een ander antwoord, dus als het werkt, zorg er dan voor dat je dat een +1 geeft :)



  1. Moeite om te beslissen over het identificeren of niet-identificerende relatie

  2. Het gebruik van de OR-clausule optimaliseren bij gebruik met parameters (SQL Server 2008)

  3. Database aanmaken in MySQL

  4. UTC_DATE Voorbeelden - MySQL