Как использовать в запросе в качестве назания таблицы результат из другого запроса?

Есть таблица
sites
id hostname pages_table_name
1 delgus.com pages

И таблица pages
id route content
1 /news Новости


Я знаю route и host(они уникальны) ,могу ли я получить значения из page одним запросом. Что то похожее на

SELECT  *  FROM (SELECT pages_table_name FROM sites WHERE host='https://delgus.com') as t


Но такой запрос возвращает
pages_table_name
pages


А я хочу получить выборку из pages. Помогите плиз
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
@magarif
Программист
Тут три решения

0. Если не менять структуру, то пишите хранимую процедуру. https://dev.mysql.com/doc/refman/5.7/en/create-pro...
Внутри неё используйте динамический SQL. https://dev.mysql.com/doc/refman/5.7/en/sql-syntax...

1. Меняйте структуру и join, и не придётся динамическое имя таблицы использовать
Sites
- id
- host

Routers
- id
- siteId
- route
- content

10. Можно название таблицы со страницами сделать как-то так delgus_com_pages. И потом подсовывать это в запрос.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
BasicDecor Москва
от 90 000 до 130 000 руб.
от 50 000 до 120 000 руб.
MGCom Москва
от 120 000 до 140 000 руб.
24 июн. 2019, в 15:25
500 руб./за проект
24 июн. 2019, в 12:59
15000 руб./за проект