Кто может помочь с запросом

Обсуждение технических вопросов работы с системами управления базами данных (СУБД), работе с языком SQL и скриптовыми языками.
Ответить
Аватара пользователя
Alexey
Активный участник
Сообщения: 123
Зарегистрирован: 21 окт 2005, 15:49
Откуда: Белоруссия, Минск
Контактная информация:

Кто может помочь с запросом

Сообщение Alexey »

Есть объект допустим(ID=100000) с подчиненными объектами одного типа у них есть следующие атрибуты ( цена (число) , дата (дата) , исполнитель (строка). Требуется:
1. Отобрать все объекты удовлетворяющие условию дата < некой дата например 21.01.2007, и просуммировать все цены полученной выборки.
2. Отобрать все объекты где исполнитель будет = например 'Фирма', и также просуммировать все цены.
3. Совмещенный запрос где выборка дата + исполнитель итог сумма цен!

Кто может помочь помогите....
- А деньги?
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным
Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Сообщение Старик Крупский »

Выполните подобный запрос, например, в окне поиска объектов. А в профайлере или чем Вы там пользуетесь, перехватите запрос. Потом его немного модернизируете. Придется убрать лишние поля и таблицы, т.к. окно поиска возвращает кучу всего.
Аватара пользователя
Alexey
Активный участник
Сообщения: 123
Зарегистрирован: 21 окт 2005, 15:49
Откуда: Белоруссия, Минск
Контактная информация:

Сообщение Alexey »

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

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

нескромный вопрос- а как получилось посчитать сумму? у меня не получилось, в MSSQL2000 следующая структура не работает
Select
sum(select ... найти в выбранном)
From
...
Where
дата<даты
исполнитель=исполнитель
цена is not null

т.е. если без SUM то получаем колонку с ценами, а если пытаться ее просуммировать - вылезает ошибка что Sum не работает с вложенными подзапросами :roll:
... а какая база использовалась?

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

Аватара пользователя
Старик Крупский
Активный участник
Сообщения: 803
Зарегистрирован: 27 июл 2006, 22:17
Откуда: Москва

Сообщение Старик Крупский »

Я бы документацию по MS SQL почитал... Там наверняка синтакис функции SUM изложен.
Аватара пользователя
Alexey
Активный участник
Сообщения: 123
Зарегистрирован: 21 окт 2005, 15:49
Откуда: Белоруссия, Минск
Контактная информация:

Сообщение Alexey »

MS SQL Server 2000
и все чере Sum считается, вот запрос который просчитал суммы и все такое если будет что то не понятно пишите:
str_SQL1 = Set ( ' SELECT Sum (vnp.value) FROM LSDBO.tree_link_view tl, lsdbo.value_numeric_view vNP, lsdbo.attrib_value_view aNP WHERE tl.parent_id = ' + id + ' and tl.link_type_id = 1 and tl.link_id= anp.object_id and anp.attrib_id = 100000022600001[атрибиут по которому считается сумма] and vnp.attrib_id = 100000022600001[атрибиут по которому считается сумма] and anp.value_id =vnp.id and anp.object_id in (SELECT av.object_id FROM lsdbo.attrib_value_view av, lsdbo.value_datetime_view vv WHERE av.value_id = vv.id and av.attrib_id = 100000028000001[дата] and vv.attrib_id = 100000028000001[дата] AND vv.Value < ~''+ str_Date +'~' ) ' )

Я думаю он не идеален, но главное работает. В квадратных скобках некоторый комментарий.
- А деньги?
- Какие деньги? - сказал Остап, открывая дверь. - Вы, кажется, спросили про какие-то деньги?
----------------------------------
SEO стало интересным
Ответить