У меня есть таблица в mysql под названием «таблицы», и эта таблица содержит имена всех имен таблиц и идентификаторов таблиц.
Схема из таблиц:
Мне нужно выполнить ВНУТРЕННЕЕ СОЕДИНЕНИЕ этой таблицы и заменить значения {table}
и {column_id}
SELECT *
FROM attributes_categories AS ac
INNER JOIN attributes_codes AS aco ON aco.id_attribute_code =
ac.attributes_codes_id_attribute_code
INNER JOIN {$table} AS b
LEFT JOIN translations AS t ON t.id = b.{$column_id}
Я пробую что-то вроде этого, НО, я не могу заменить "INNER JOIN {$ table}", потому что я не могу вставить результат вместо имени таблицы:
SELECT COLUMN_NAME
FROM attributes_categories AS ac
INNER JOIN attributes_codes AS aco ON aco.id_attribute_code =
ac.attributes_codes_id_attribute_code
INNER JOIN tables AS tab ON tab.id_table = ac.tables_id_table
INNER JOIN INFORMATION_SCHEMA.TABLES ON TABLE_NAME = tab.table
INNER JOIN tab.table AS b
LEFT JOIN translations AS t ON t.id = b.column_id
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='knskjhpumw1'
Результат:
Mensagens do MySQL :
#1146 - Tabela 'tab.table' does not exist
Спасибо!