упрощение запроса MySQL, динамическое извлечение имени таблицы из данных таблицы

0

У меня есть таблица mysql, и одно из полей - это "шаблон". В этом поле указывается правильная таблица шаблонов для ссылки на уникальные поля для этого конкретного шаблона.

Так, например, если table.template = 'news', мне также нужно вывести информацию из таблицы news_template, чтобы иметь полный набор информации о листинге. Прямо сейчас я знаю только, как это сделать с двумя отдельными вызовами запросов от PHP.

Есть ли способ сделать соединение с именем динамической таблицы на основе данных в одном из столбцов?

Спасибо заранее!

Теги:

2 ответа

0
Лучший ответ

Я не думаю, что это можно сделать непосредственно в MySQL, не разбивая его на несколько запросов.

Обычно я вижу, что это обрабатывается путем запроса информации, необходимой для определения правильного имени таблицы, а затем используемый язык сценариев (PHP?) объединяет другой запрос с использованием этой информации.

  • 0
    да, это моя первая мысль, но я хочу попытаться ограничить количество запросов к серверу. Просто хотел проверить и убедиться, что я ничего не пропустил.
0

Если можно, я предлагаю перестроить ваши таблицы *_template в новую таблицу под названием template_data. Затем в этой таблице может быть столбец с именем template_name. Затем выбор правильных данных становится простым SQL-запросом, например.

select Parameter, Value from template_data where template_name = ?
  • 0
    проблема заключается в сложности шаблонов, у меня будет несколько с 3 столбцами, а некоторые с 49 столбцами, все уникальные, поэтому в таком случае это будет огромная таблица. разве это не сделает запросы медленнее?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню