Мелкий подхалимаж или как сделать Select для Шефа?

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

Мелкий подхалимаж или как сделать Select для Шефа?

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

Не подскажите как сделать следующую штуку на основе ExecSQLSelect
Дано:
объект 'Запрос' у него среди прочих атрибутов есть имя исполнителя и дата
Нужно:
сделать запрос по всей базе по объектам 'Запрос' и атрибуту=имя исполнителя
В этом запросе получить 12 значений (через запятую) означающих количество обработанных сотрудником объектов за месяц
Результат:
отобразить на форме диаграму по месяцам и количеству обработанных сотрудником объектов
Для чего:
чтобы шеф нажал на кнопку - посмотрел диаграму и выписал премию, всего 2 действия - он нажал на кнопку, а ты пошел в кассу :wink:

Как правильно построить такой запрос? Можно ли использовать следующую схему

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

Select
  Select(in (найти в найденном все для января)) as январь,
  Select(in (найти в найденном все для февраля)) as февраль,
   ...  
  Select(in (найти в найденном все для декабря)) as декабрь
From ...
Where .... (найти все объекты 'запрос')
???? :roll: :roll: :roll:

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

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

Сообщение Anderyt »

ух ты :-)
Александр, извините, убегаю на обед, и время есть только на то, чтобы прислать запрос, который показывает число документов, находящихся в объектах определенных типов, с группировкой по месяцам:

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

select 
substring(convert(varchar, file1.cd, 104),4,7) as 'Месяц'
, count(file1.cd) as 'Всего документов'
from lsdbo.file_v file1
where
object_reference_id in
(select id
from
lsdbo.object_reference_view
where type_id
--in (5,100002686000001,6,100003626000001) -- ПСД
--in (807891382900000, 100000519200011) -- Задания
not in (100000185200011, 100000185400011) -- Документы ПИР
--in (100000185200011, 100000185400011) -- Корреспонденция
--in (100003923200458, 100006553200458, 100006553100458) --Изыскания
)

and
substring(convert(varchar, file1.cd, 104),7,4)='2006'
group by substring(convert(varchar, file1.cd, 104),4,7)
order by substring(convert(varchar, file1.cd, 104),4,7)
содержимое конечно совсем не такое, как нужно вам, но по-моему, принцип тот же..

если будут вопросы - то только после обеда ;-)
лучше день потерять, потом за пять минут долететь!
Ответить