|
|
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
Вопрос в следующем, есть куча таблиц, часть имени построена из даты, другая часть известна и может быть определена. Можно ли как-то написать select по всем таблицам, не делая громоздкую конструцию из join или без создания процедур. Например нужно сделать выборку из 31 таблицы и сделать sum одного параметра по всем таблицам с условием по другому столбцу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 00:25:41 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 01:26:48 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
"не делая громоздкую конструцию из join" .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 07:06:53 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
Соединять, набирая 31 селект....? при этом имена таблиц разные каждый раз... шутник... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 07:08:19 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
kixiroСоединять, набирая 31 селект....? при этом имена таблиц разные каждый раз... шутник... как говорится, глупых ответов -- не бывает... Вы сами создали себе толпу таблиц -- вам и придется так или иначе писать с шутками и прибаутками 31 селект. Варианты есть, но для вас они все слишком смешные :-) веселых выходных! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 07:18:49 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
javajdbc, Да ладно. Просто запрос набирается в цикле на клиенте. И какая нафиг разница сколько там таблиц? Делов-то. Надо только помнить про ограничение Мускуля, о котором сам узнал не так давно: 61 джойн. Спасибо miksoft-у. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 07:46:33 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
Хм... про ограничения по join не знал, спасибо. В голову пришло только такое решение (не через процедуру, так как не всегда есть root): create table temp_stat (id int not null auto_increment,value varchar(200), primary key (id)) engine=memory; insert into temp_stat (value) select concat('select param1 from ',table_name,' where param2="значение"') from information_schema.columns where table_name like 'tabl_name%' group by table_name; update temp_stat a,(select max(id) as id from temp_stat) as b set a.value=concat(a.value,' union all') where a.id!=b.id; select * into outfile '/tmp/result.txt' from (select 'select sum(param1) from (' union all select value from temp_stat union all select ') as a') as a; source /tmp/result.txt; drop table temp_stat; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 08:07:04 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
kixiro"не делая громоздкую конструцию из join" .... автор, ты join от union ваще отличаешь ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 10:35:11 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
kixiroНапример нужно сделать выборку из 31 таблицы и сделать sum одного параметра по всем таблицам с условием по другому столбцу. 31-на говоришь ... а в феврале, походу - "например 28/29", так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 10:40:49 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
qwerty112, Ох уж эти сезонные запросы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2013, 14:55:00 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
qwerty112, Да перепутал просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2013, 02:56:55 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
qwerty112kixiroНапример нужно сделать выборку из 31 таблицы и сделать sum одного параметра по всем таблицам с условием по другому столбцу. 31-на говоришь ... а в феврале, походу - "например 28/29", так ? что мешает завести по 31 таблице на каждый месяц, но не писать "куда не надо"? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2013, 07:43:33 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
Не вижу в этом проблемы, таблицы можно создвать по like по текущей дате. А собирать нужную статистику процедурой, просто данный запрос хотелось получить, чтобы можно было без создания каких-либо постоянных объектов в базе из под не root пользователя можно было постичать нужную сумму. qwerty112kixiroНапример нужно сделать выборку из 31 таблицы и сделать sum одного параметра по всем таблицам с условием по другому столбцу. 31-на говоришь ... а в феврале, походу - "например 28/29", так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2013, 10:17:41 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2013, 10:32:44 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
Akina, только если у ТСа MyISAM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2013, 10:37:27 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
Сабо самой. Это и в мане написато. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2013, 10:41:44 |
|
||
|
select из большого числа таблиц
|
|||
|---|---|---|---|
|
#18+
Там же и на партишинг сцылка имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2013, 10:42:58 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38353721&tid=1836242]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 335ms |

| 0 / 0 |
