|
|
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
Всем привет. В общем, нужна ваша помощь. Есть один здоровый запрос, в которым я получаю данные из нескольких таблиц. Нужно используя уже эту готовую таблицу, использовать для получения нарастающего итога. Запрос для получения нужного мне нарастающего этого есть. Каким-то образом нужно считать суммы из запроса, в котором много таблиц. Так как для получения нарастающего итога я использую несколько запросов, объединенных UNION'ом, вставлять в каждый WHERE еще один огромный запрос не вариант. Короче говоря, как мне это все дело сделать проще? Вариант с созданием временной таблицы невозможен, т.к. я ограничен в правах работы на сервере. Только выборка. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 12:24:37 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
Ilia_TrifonovВариант с созданием временной таблицы невозможенИмеются в виду полноценные таблицы, которые можно было бы создать на некоторое время или временные таблицы в терминах MySQL? Еще можно попробовать из этого запроса создать VIEW. Тогда, скорее всего, оно будет материализоваться при использовании в других запросах. Вот только индексов к этой материализации создать нельзя будет. Еще вариант, более сложный. Поднять у себя свой отдельный сервер MySQL и подключить его с помощью FEDERATED к исходному серверу. Тогда можно будет создавать любый таблицы, вью и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 12:38:50 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
miksoftВременные таблицы в терминах MySQL? Это ты что имел ввиду? Я полностью ограничен в правах, могу делать только выборку из этой таблицы. Ничего не добавлять, ни создавать и так далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 12:43:07 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
Ilia_TrifonovmiksoftВременные таблицы в терминах MySQL? Это ты что имел ввиду? Я полностью ограничен в правах, могу делать только выборку из этой таблицы. Ничего не добавлять, ни создавать и так далее.Есть CREATE TABLE и есть CREATE TEMPORARY TABLE. Это разные таблицы и разные привилегии. Запрещено и то, и другое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 12:52:30 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
miksoftЗапрещено и то, и другое? Да, команда CREATE не работает. Поэтому надо просто сделать каким-то образом выборку, не создавая лишних таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 13:55:55 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
во вы хлопцы умные. Я вообще не понял что он хочет.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 13:56:06 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
Ilia_TrifonovmiksoftЗапрещено и то, и другое? Да, команда CREATE не работает. Поэтому надо просто сделать каким-то образом выборку, не создавая лишних таблиц.Тогда см. еще пару вариантов выше в моем первом же посте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 13:58:52 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
miksoftIlia_Trifonovпропущено... Да, команда CREATE не работает. Поэтому надо просто сделать каким-то образом выборку, не создавая лишних таблиц.Тогда см. еще пару вариантов выше в моем первом же посте. Более сложный вариант с созданием новой БД тоже не подходит:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 14:02:05 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
Ilia_Trifonov, Многократное использование таблицы, полученной через запрос можно реализовать через временные таблицы, если такой возможности нету, то просто копипастой (некрасиво и медленно). Но в целом ничего не понятно, поэтому ... Запрос в студию. И пример того, что должно получиться на выходе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 14:43:21 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
можно какой нибудь ETL замутить ,промежуточные таблицы надо будет делать на сервере где права всетаки имеются а так если прав нет, то и таблиц нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 14:58:10 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, решил все-таки делать просто вложенным запросом. Много строк, некрасиво, но работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 15:59:17 |
|
||
|
Многократное использование таблицы, полученной запросом
|
|||
|---|---|---|---|
|
#18+
Ilia_Trifonov , нарастающий итог проще (и быстрее) всего считать через курсор :) в определении курсора пишете ваш сложный запрос, а затем курсором перебираете записи единственно, в MySQL придется оформить курсор в теле процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 16:45:50 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38690315&tid=1834543]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
65ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 369ms |

| 0 / 0 |
