Использование переменных MySQL - PullRequest
2 голосов
/ 25 января 2011

Возможно ли в последовательности операторов SQL получить значение поля и использовать его для именования таблицы в другом операторе? Я не уверен, что это понятно, поэтому вот псевдо-пример того, что я пытаюсь сделать:

// dataType is equal to "ratings"
@var = select dataType from theTable where anID = 5;

// needs to run as "from ratings-table"
select field1,field2 from @var-table where anID = 5;

Я читал http://dev.mysql.com/doc/refman/5.0/en/user-variables.html но либо я не правильно понимаю, либо это не решение, которое я ищу.

1 Ответ

5 голосов
/ 25 января 2011

Да, вы можете сделать это, используя подготовленные заявления :

SET @TableName := 'ratings';
SET @CreateQuery := CONCAT('SELECT `field1`, `field2` FROM `', @TableName, '-table` WHERE `anID` = 5');
PREPARE statementCreate FROM @CreateQuery;
EXECUTE statementCreate;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...