Możesz chcieć zobaczyć odpowiedź na to pytanie , co moim zdaniem jest tym, co próbujesz osiągnąć. Krótko mówiąc, odpowiedź sugeruje użycie przygotowanych instrukcji w celu symulacji funkcjonalności eval()-esque. W Twoim przypadku może to zadziałać (możesz zobaczyć SQLFiddle tutaj :
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;
Nie będę twierdził, że jestem ekspertem od podstawowej mechaniki w pracy, ale według komentarzy wydaje się, że osiąga cel. Ponownie, zostało to przejęte z innej odpowiedzi, więc jeśli to działa, upewnij się, że dałeś +1 tej jednej :)