Как написать функцию mysql с динамическим именем таблицы?

Я пытаюсь написать функцию sql, выполняя следующие действия: 1 - получить имя таблицы, используемой в соединении, в качестве параметра.

но я получаю ошибку синтаксиса MySQL

1064 - You have an error in your SQL syntax; check the manual that corresponds to 
  your MySQL server version for the right syntax to use near 'table DETERMINISTIC 
  BEGIN select `r`.`id` AS `id`, (case ' at line 2

Это мой запрос

DELIMITER $
CREATE FUNCTION getTranslation (tablename varchar(50),entity varchar(20),itemid int,lang char(3)) 
RETURNS table
DETERMINISTIC
BEGIN 
select 
    `r`.`id` AS `id`,
    (case
        when isnull(`t`.`descr`) then `r`.`descr_ml`
        else `t`.`descr`
    end) AS `descr`
from
    (tablename `r`
    left join `g001_translation` `t` ON ((`t`.`item_id` = `r`.`id`)))
END$
DELIMITER ;

Между прочим, у выбранной части отлично работает статическое имя таблицы.

Ответы на вопрос(2)

Ваш ответ на вопрос