|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Всем привет. Есть задача показать две таблицы. В первой - Перечень организаций клиентов с общей суммой закупок за весь период. Для нее была создана вьюшка Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Во второй - Непосредственно контакты организаций с общей суммой закупок за весь период. И для нее была создана вьюшка Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
CUSTOMERS - Таблица организаций клиентов V_CUSTCONTACT - Таблица контактов организаций клиентов V_ORDER - Таблица заказов В таком виде все работает. Но встала задача организовать вывод данных по интервалу даты продаж. Поле с датой продажи находится в таблице V_ORDER. Подскажите, как это можно реализовать? Т.к. вьюшки зависимые, кроме того, как пересоздавать на сервере новые вьюшки с выбором диапазона даты продаж и удалять старые, ничего пока в голову не приходит. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:10 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Hadroran, вьюху можно связать с таблицей. Не проблема. Но лучше, наверно, сделать другую вьюху под новые требования. У Вас всё на вьюхах построено? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:14 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
KreatorXXI, А что "всё", простите? Есть и таблицы с данными и вьюхи, консолидирующие их. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:19 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
KreatorXXI, Данный отчет необходимо организовать из данных таблицы V_ORDER. Может как-нить по другому можно это решить? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:22 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Пробовал сделать так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Но ошибка упирается в переборку контактов клиента (ID_CUSTCONTACT = CCNT.ID). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:26 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
внутри вьюх параметры не живут. зы: но их можно пристегнуть снаружи. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:27 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Да он же там в них уже сгруппировал данные без учета дат, как понимаю. Т.е. Даты уже сделали ему ручкой и применить те вьюхи к новой постановке уже не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:35 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Hadroranкак это можно реализовать? 1. Выкинуть вьюхи. 2. Написать запрос. 3. Избавиться от аксессовских привычек (опционально). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:46 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Vlad F, На начальном этапе - да. Вьюхи без условия на дату. Но это легко исправляется Код: sql 1.
Но это внизу. Как сверху диапазон спустить? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:48 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Для любителей прыжков в ширину: делаем gtt табличку с полями id_connection, dt1, dt2 в триггере на инсерт оной таблички заполняем коннект current_connect -ом ну и пару дат пишем, вестимо. далее джойн с этой табличкой по каррент_коннекту вполне протолкнет во вьюху искомые параметры. Вот только непонятно, зачем это городить для отчета, обычный запрос с параметрами и вуаля. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:50 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Ivan_Pisarevskyделаем gtt табличку с полями id_connectionЗачем в GTT это поле ? Hadroran, не нужно насиловать инструмент (view), нужно научиться его правильно выбирать и применять. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:52 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Hadroran, а чем банальный запрос по V_Order с group by не подходит? Я просто думаю - в чём причина использования вьюхи. Может это принципиально? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:56 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Допустим... 1. Выкинули. 2. В датасет SUMCCNT мы переписываем запрос из соответствующей вьюхи с добавлением диапазона дат. В ответе получаем список всех контактов с суммами продаж. Кто был неактивен, тому дарим "нолик". А как сформировать запрос в датасет SUMCSTM, чтобы получить сумму на всю организацию по всем активным контактам? 3. А в чём эта хрень вылезла? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:56 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
hvladЗачем в GTTда, в гтт необязательно, "масло-масляное". можнотлибо стационарную табличку с коннектом, либо гтт. KreatorXXIЯ просто думаю - в чём причина использования вьюхи.Есть места, где это удобно. Причем удобно, чтобы параметры хранились отдельно, например, с привязкой к логину юзера. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 15:58 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Ребята, вьюхи не обязательны. Тему так обозвал, что для решения этого не хватало. Знаю, что так не бывает. Забудем про вьюхи... Просто в голове что-то не туда повернулось. Может про сиськи думаю.... Нет не про них. Про запросы. "банальный запрос по V_Order с group by" подойдет. Но я не понимаю как потом разбить его данные на две части? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:02 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Hadroran, Походу вам надо приглашать программиста. В штат.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:04 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Vlad F, Ты думаешь он про сиськи думать не будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:05 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
HadroranА как сформировать запрос в датасет SUMCSTM, чтобы получить сумму на всю организацию по всем активным контактам? 1. Изучить SQL. В особенности внимательно - раздел "агрегатные функции". 2. Изучить используемый инструмент. В особенности внимательно - возможности агрегирования "на лету". Hadroran3. А в чём эта хрень вылезла? В использовании view там, где весь остальной мир использует просто запросы. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:06 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
P.S. Без полного приведения метаданных и повторной аккуратной формулировки поставленной задачи тебе, имхо, никто не поможет. И даже с ними, не факт что кто то захочет разбираться, хотя и не исключено. Все таки этот форум немного не про SQL алгоритмы, а про особенности Firebird (прошу без обид). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:08 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
кароче ясно... пашел учить... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:08 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
HadroranVlad F, Ты думаешь он про сиськи думать не будет? Редкий программист про них не думает, но мне, напрример, это совершенно не мешает.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:10 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
HadroranРебята, вьюхи не обязательны. Тему так обозвал, что для решения этого не хватало. Знаю, что так не бывает. Забудем про вьюхи... Просто в голове что-то не туда повернулось. Может про сиськи думаю.... Нет не про них. Про запросы. "банальный запрос по V_Order с group by" подойдет. Но я не понимаю как потом разбить его данные на две части? А какие две части? Давай с нуля. Что нужно получить? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:10 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Hadroran, есть несколько вариантов 1. Использовать вместо вьюх запросы 2. В некоторых случаях можно написать вьюху так чтобы к ней можно было делать внешний запрос с параметрами 3. Использовать селективные хранимые процедуры с параметрами 4. Если параметры глобальные для сессии можно внутри вьюхи использовать контекстные переменные ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:19 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Симонов Денис4. Если параметры глобальные для сессии можно внутри вьюхи использовать контекстные переменные Не учи люде плохому. Нубы всегда хватаются за этот вариант и поток говнокода потом уже не остановить. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:23 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Hadroran, про запросы. Если мозг всё ещё думает в терминах SELECT FROM VIEW JOIN VIEW JOIN TABLE, то попробуй изучить CTE. Каждая CTEшка почти тоже самое что вьюха, только не храниться в метаданных. Но правда общий запрос может быть большим ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:25 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
KreatorXXI, Нужно получить две таблицы. 1. С суммой заказов по каждой организации 2. С суммой заказов по каждому контакту организации ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:25 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, при правильном и аккуратном применении будет работать нормально ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:28 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
HadroranНужно получить две таблицы. 1. С суммой заказов по каждой организации 2. С суммой заказов по каждому контакту организации Это два разных запроса. См выше п.2 про изучение своего инструмента. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 16:29 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, если у них не бывает одного контакта на несколько организаций (смотря что они имеют в виду под контактом, может быть и так), то 1-й - всего лишь агрегат 2-го более того, они просто напрашиваются в одну таблицу Иванов Вася - 10 Иванова Маша - 20 Иванов Петя - 30 Семья Ивановых - 60 Петров Ваня - 10 и.т.д. ....а соседней колонкой можно ещё и накапливающуюся сумму пустить оконными функциями некоторые вообще HTML-текст в SELECT'ах формируют ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 17:19 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Ariochболее того, они просто напрашиваются в одну таблицу Я даже больше скажу: они с лёгкостью ложатся в одну таблицу и таки да, первый запрос не нужен. В отличии от программиста. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2018, 17:57 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
HadroranKreatorXXI, Нужно получить две таблицы. 1. С суммой заказов по каждой организации 2. С суммой заказов по каждому контакту организации Первый может быть таким: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Второй пока непонятен. Как v_order связан с контактом организации? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 13:54 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
KreatorXXI, Спасибо, друг. То что надо. Правда когда перешел на запрос он выполнялся очень долго. Просмотрел план и увидел, что запрос ходит по таблицам т.к. таблица V_ORDER не содержала ключ таблицы CUSTOMERS, а ходила за этими данными через другую таблицу. Исправил и тут ты ответил. С этим запросом этот ключ не нужен. А второе сверху делается легче уже в датасете Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 16:04 |
|
Вьюшка с параметрами
|
|||
---|---|---|---|
#18+
Hadroran, V_SUMCCNT это вьюха? Договорились же их убрать! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 16:12 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560882]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 288ms |
0 / 0 |