Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Обработка логов (динамический запрос) / 11 сообщений из 11, страница 1 из 1
01.12.2016, 09:17
    #39358186
Ramaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
Здравствуйте!
Имеется список таблиц(tablename) в таблице zyxellog. В базе каждый день создается новая таблица вида "zyxellog_fcf5286af2db_20161130" (меняется дата и префикс "fcf5286af2db").

Необходимо подставить значения "tablename" из zyxellog в поле from, чтобы выбрать запросом из всех таблиц данные.

например таким запросом можно выбрать нужное из одной таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT destIP, 
       msg, 
       srcIP
FROM 
     `zyxellog_fcf5286af2db_20160726`
WHERE 
      srcIP LIKE '192.10.100.1%'
      AND
	  logTime = '1469593799421'



Из всего прочитанного в интернете понял что это можно сделать динамическим запросом. Но т.к. очень слаб в SQL прошу помочь, хотя бы примерно набросать как это выглядит.
...
Рейтинг: 0 / 0
01.12.2016, 09:30
    #39358195
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
...
Рейтинг: 0 / 0
01.12.2016, 10:19
    #39358250
Ramaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
Спасибо. Попытаюсь осилить.
...
Рейтинг: 0 / 0
01.12.2016, 11:34
    #39358315
Ramaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
попробовал для начала выполнить:

Код: sql
1.
2.
3.
4.
5.
SET @s = CONCAT('SELECT tableName FROM ', zyxellog_list);
PREPARE stmt1 FROM @s;
EXECUTE stmt1;

DEALLOCATE PREPARE stmt1;



Сразу ругается: [Err] 1054 - Unknown column 'zyxellog_list' in 'field list'

Хотя
Код: sql
1.
SELECT tableName FROM  zyxellog_list


работает без проблем.
...
Рейтинг: 0 / 0
01.12.2016, 11:38
    #39358318
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
Ramaster
Код: sql
1.
CONCAT('SELECT tableName FROM ', zyxellog_list);

А почему у вас первая строка в кавычках, а вторая нет?
...
Рейтинг: 0 / 0
01.12.2016, 12:27
    #39358359
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
RamasterСразу ругается: [Err] 1054 - Unknown column 'zyxellog_list' in 'field list'Правильно, в этом контексте zyxellog_list - это имя переменной или поля таблицы. Переменной такой нет, значит, поле. А раз FROM нет - то и поле брать неоткуда.
...
Рейтинг: 0 / 0
01.12.2016, 12:27
    #39358362
Ramaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
miksoft, спасибо. Работает.
...
Рейтинг: 0 / 0
01.12.2016, 12:32
    #39358368
Ramaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
Теперь вот как завернуть мне необходимый запрос в этот динамический запрос.

Примерно так получается:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SET @s = CONCAT('SELECT tableName FROM ', 'zyxellog_list');
PREPARE stmt1 
SELECT destIP, 
       msg, 
       srcIP
FROM @s;
WHERE 
      srcIP LIKE '192.10.100.1%'
      AND
      logTime = '1469593799421'

EXECUTE stmt1;

DEALLOCATE PREPARE stmt1;


но ругается на вторую строку: PREPARE stmt1

Либо я что-то совсем не так делаю?
...
Рейтинг: 0 / 0
01.12.2016, 12:46
    #39358385
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
Ссылку на доку я дал. Примеры там есть. Но, судя по
RamasterПримерно так получается:
чтение документации - не наш метод?
...
Рейтинг: 0 / 0
01.12.2016, 13:07
    #39358411
Ramaster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
Если бы не читал, то вообще ничего не написал бы дальше слова Select. Но соглашусь с тем, что сложновато дается документация. Тогда вопрос закрою. Буду изучать.
...
Рейтинг: 0 / 0
01.12.2016, 13:32
    #39358444
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка логов (динамический запрос)
Ramaster , внимательно изучите примеры в нижней половине статьи.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Обработка логов (динамический запрос) / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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