Sql запрос для отчета

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Ответить
Aspirant
Новый участник
Сообщения: 5
Зарегистрирован: 17 мар 2010, 13:58
Используемое ПО: Lotsia PDM PLUS LT
Контактная информация:

Sql запрос для отчета

Сообщение Aspirant »

Доброе утро! Хочу осуществить на практике примерно следующее...
Нужно сделать отчет, в котором будет несколько уровней поиска, то есть, нажимаю "кнопку" выходит список возможных вариантов поиска, допустим " ПО, ТО, Дата", после выбора пошел следующий уровень, если "дата" - то "дата установки" либо скажем "дата ввода ТО", затем уже вводим конкретное значение либо выбираем из списка уже загнанных значений, примерно также и с остальным...
Теперь вопрос, как мне осуществить такого рода последовательность?
Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Sql запрос для отчета

Сообщение Anderyt »

почему это именно уровни поиска?
поиск должен отрабатывать в итоге сколько раз, один? в самом конце?
то есть можно говорить просто о последовательности выбора способа поиска?
если так - то эту последовательно можно сделать в действии.
на первом шаге - выбираем способ, потом прыгаем на нужный шаг, там выбираем уже что то конкретное.
в итоге из одной точки начала должны выйти на запуск того или иного отчета (ну или одного отчета, но с разными параметрами.. это как пойдет)
лучше день потерять, потом за пять минут долететь!
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Sql запрос для отчета

Сообщение Александр »

Мы в свое время отказались от данной идеи :wink:
т.е. задача - если первая выборка/отчет вернула что-то > запустить вторую/отчет расширенную - если опять что-то есть > запустить другое/отчет или сделать ветвление...
короче - гонять массивы id по связанным отчетам - очень тормозная и некрасивая штука - когда они по каждой строке нового отчета начинают мельтешить...

может благодаря нашей модели данных - но нам оказалось достаточно одного отчета по разным типам объектов построенного по принципу

Код: Выделить всё

Select *
  From
(Select данные,
          ....
          поле для связи с другой таблицей) as TAble01
left join
(Select данные,
          ....
          поле для связи с другой таблицей) as TAble02
on TAble01.поле для связи с другой таблицей= TAble02.поле для связи с другой таблицей
left join
(Select данные,
          ....
          поле для связи с другой таблицей) as TAble03
on TAble02.поле для связи с другой таблицей= TAble03.поле для связи с другой таблицей
и т.д.
получается быстро и круто, а все критерии для всех уровней или для каждого в отдельности задаем на закладке аргументы
ветвления никакого - зато миллион данных от разных типов объектов и в одном запросе/отчете :wink: :wink:

ps
на практике, у нас по крайней мере, используется только один тип отчета - пользовательский=сорость/наполненность, вся красота внешних документов включая их создание - только через vbscript
стандартный сервис Лоции для этих целей -....., есть конечно..., но... короче мы не можем его использовать из эстетических соображений :wink: :wink: :wink: :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Аватара пользователя
Anderyt
Активный участник
Сообщения: 777
Зарегистрирован: 15 июл 2004, 13:15
Используемое ПО: Lotsia PDM PLUS
Откуда: Тюмень
Контактная информация:

Re: Sql запрос для отчета

Сообщение Anderyt »

вот в том и дело, какие уровни поиска имеются в виду :-)
кстати, в новой версии вроде есть возможность генерить текст запроса на основе анализа заданных аргументов отчета. вот этого мы давно ждали :-)
планируем сделать на основе этого правильный поиск, который не будет обрабатывать аргументы, для которых не были выбраны значения...
лучше день потерять, потом за пять минут долететь!
Aspirant
Новый участник
Сообщения: 5
Зарегистрирован: 17 мар 2010, 13:58
Используемое ПО: Lotsia PDM PLUS LT
Контактная информация:

Re: Sql запрос для отчета

Сообщение Aspirant »

Да мне на самом деле это легче описать все по шагам в действиях, потому что отчет должен быть на последнем шаге по конкретному параметру...
Про что написал Александр, я чесна сказать слабо понял :oops: , пока еще тока тока вникаю...
Большое спасибо, если возникнут вопросы - задам :wink:
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Re: Sql запрос для отчета

Сообщение Александр »

смысл моего примера в том - что ты в одном запросе работаешь с произвольным количеством типов объектов со своей (присущей только конкретному типу) атрибутивной информацией... :wink:
а если по русски
в самом первом подзапросе-ты вытаскиваешь всю атрибутивную информацию базового типа объекта или первого уровня или последнего....+некий атрибут для связи с другими подзапросами
дальше во втором подзапросе ты работаешь уже с другим типом объекта вытаскивая всю его атрибутивную инфу+опять же некий атрибут с общим значением для связи....
в общем если сказать еще проще - ты создаешь таблицу
в первых колонках-результат верхнего запроса+справа колонки с результатами второго запроса+справа колонки с результатами третьего запроса и т.д.

т.е. анализируемый тип объекта - один - а инфа связанная с ним дополнительно разбросана в других типах объектов (у нас например - объектно ориентированная модель была заложена изначально - вся инфа по объекту содержится не в одном типе объекта а в разных - и атрибуты экономим и смысл не теряем :wink: ) - так вот ты просто - по всей базе собираешь всю инфу по объекту-просто добавляя ее справа каждым новым подзапросом к уже отобранным объектам первого подзапроса

ps
тебе нужно отойди от обычного программирования - и смотреть на обработку данных как SQL программисту... как говорят у нас в... это две Большие разницы :wink: :wink: :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Ответить