|
|
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток, делаю биллинговую систему для сервера телефонии Asterisk. у сервера есть своя база данных с историей вызовов asteriskcdrdb и таблица cdr вида: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Номера в поле dst могут быть вида: 981112223344,81112223344 Также есть моя база данных к которой уже составлен запрос с помощью которого я получаю регион номера , зону тарифа , стоимость и т.д. Запрос вида: Код: sql 1. 2. 3. 4. 5. 6. Вопрос : Как можно сделать запрос сразу к двум базам чтобы результаты из первой базы подставить в запрос к моей и добавить например необходимые фильтры по дате исходящему номеру и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 11:17:06 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Дмитри4Как можно сделать запрос сразу к двум базам 17599693 и далее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 11:22:05 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Я наверное неправильно сформулировал вопрос Надо из базы сервера поля dst получить номер и разбить его на 2 переменные чтобы можно было подставить в другой запрос... Например в поле dst имеем номер 981112223344 или 81112223344 Надо получить две переменные prefix и num где prefix=111 , num=2223344 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 11:44:10 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Num = Right(dst, 7) Prefix = Left(dst, Length(dst)-7) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 12:27:42 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Пока ждал, сделал так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. осталось прикрутить к другому запросу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 12:36:31 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Смог сделать только так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. просьба специалистов посмотреть можно ли как нибудь оптимизировать запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 13:59:18 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Дмитри4, 1-й момент: У вас дополнение номера до 12 цифр и отрезка значащих правых 10-и штук в запросе указана дважды. Если оптимизатор сработает, то можно так и оставить. Но: 2-й момент: Формирование полного dst (момент№1) идет из базы астериска, а ограничение выборки - условия наложены из обоих баз... Я бы вынес фильтрацию и формирование всех подстрок в подзапрос, максимально ограниченный условиями по базе астериска и уже потом, пришивал его к вашей базе, поскольку база астериска, как правило, велика есть... Ну и думаю, вполне достаточно посмотреть план и недостающие индексы. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 14:34:17 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Arhat109Дмитри4, 1-й момент: У вас дополнение номера до 12 цифр и отрезка значащих правых 10-и штук в запросе указана дважды. Если оптимизатор сработает, то можно так и оставить. Но: 2-й момент: Формирование полного dst (момент№1) идет из базы астериска, а ограничение выборки - условия наложены из обоих баз... Я бы вынес фильтрацию и формирование всех подстрок в подзапрос, максимально ограниченный условиями по базе астериска и уже потом, пришивал его к вашей базе, поскольку база астериска, как правило, велика есть... Ну и думаю, вполне достаточно посмотреть план и недостающие индексы. :) Согласен с вами, переделал в такой вид: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 16:52:24 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Дмитри4, AND '2015-05-12 23:59:59' :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 16:54:51 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
-k2-Дмитри4, AND '2015-05-12 23:59:59' :) Что-то не так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 17:11:07 |
|
||
|
Составление запроса к двум базам
|
|||
|---|---|---|---|
|
#18+
Дмитри4-k2-Дмитри4, AND '2015-05-12 23:59:59' :) Что-то не так ?59 секунд забыли. А что если нужная запись попадет в последнюю минуту суток? Я таки вещи вообще пишу так: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 17:23:59 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38957804&tid=1833206]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
5ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 286ms |

| 0 / 0 |
