Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка с бд Mysql с динамическим именем таблицы / 4 сообщений из 4, страница 1 из 1
19.04.2018, 15:01
    #39633234
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с бд Mysql с динамическим именем таблицы
0
голос «против»
избранное
Подскажите пожалуйста. Нужно сделать выборку с бд при это название таблицы, откуда делается выборка, образуется исходя из префикса таблицы и данных которые извлекаются из таблицы.

Таблицы: Сайты, Чаты и Чат_ID (таблицы с перепиской).

Мне надо получить id сайта и количество непрочитанных у этого сайта. Делаю так:

Код: sql
1.
SELECT s.id AS id, (SELECT COUNT(*) FROM КАК ТУТ ПОЛУЧИТЬ НАЗВАНИЕ ТАБЛИЦЫ? AS ch WHERE ch.chat_id = c.id AND status = 0 AND type = 'CLIENT') AS unread FROM site AS s LEFT JOIN chat AS c ON c.site_id = s.id AND c.operator_id = s.user_id WHERE s.user_id = 1;



Название таблицы состоит из префикса и id сайта - chat_1.

Может это и не правильно - не кидайте тапкапи)
...
Рейтинг: 0 / 0
19.04.2018, 15:44
    #39633271
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с бд Mysql с динамическим именем таблицы
Пишите хранимую процедуру. https://dev.mysql.com/doc/refman/5.7/en/create-procedure.html
Внутри неё используйте динамический SQL. https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html
...
Рейтинг: 0 / 0
19.04.2018, 15:51
    #39633276
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с бд Mysql с динамическим именем таблицы
AkinaПишите хранимую процедуру. https://dev.mysql.com/doc/refman/5.7/en/create-procedure.html
Внутри неё используйте динамический SQL. https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html

А вообще принцип создания таблиц динамически верен?
...
Рейтинг: 0 / 0
19.04.2018, 16:45
    #39633314
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка с бд Mysql с динамическим именем таблицы
Ну вообще-то не очень... даже скорее очень не... нормализации нет - одна и та же сущность "сообщение" размазана на кучу таблиц. ИМХО таблица переписки должна быть одна, а каждая запись в ней дополнительным полем должна ссылаться на соотв. запись таблицы чатов.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка с бд Mysql с динамическим именем таблицы / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]