Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как сгруппировать Запрос (число прочтений - 1520 )
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Как сгруппировать Запрос
23. Марта 2008 :: 08:34
Печать  
Есть такой запрос
ТекстЗапроса = "
     |SELECT ПартииТоваровОстатки.Склад [Склад $Справочник.МестаХранения]
     |      , (ПартииТоваровОстатки.ОстатокТовараОстаток) ОстКол
     |      , (ПартииТоваровОстатки.СебестоимостьОстаток) ОстСС
     |      , (ПартииТоваровОстатки.ОстатокТовараОстаток * $ПоследнееЗначение.Цены.Цена(Цены.ID, :ВыбДата)) ОстОЦ
     |      , (РезервыТоваровОстатки.РезервТовараОстаток) РезКол            
     |      , (РезервыТоваровОстатки.РезервТовараОстаток * ПартииТоваровОстатки.СебестоимостьОстаток / ПартииТоваровОстатки.ОстатокТовараОстаток) РезСС
     |      , (РезервыТоваровОстатки.РезервТовараОстаток * $ПоследнееЗначение.Цены.Цена(Цены.ID, :ВыбДата)) РезОЦ
     |FROM $Справочник.Цены AS Цены
     |      FULL JOIN $РегистрОстатки.ПартииТоваров(:ВыбДата~,,
     |            (Фирма = :ВыбФирма),
     |            (Склад, Фирма, Товар, Партия),
     |            (ОстатокТовара, Себестоимость)) AS ПартииТоваровОстатки
     |      ON Цены.PARENTEXT = ПартииТоваровОстатки.Товар
     |      FULL JOIN $РегистрОстатки.РезервыТоваров(:ВыбДата~,,
     |            (Фирма = :ВыбФирма),
     |            (Фирма, Товар, Склад, Партия),) AS РезервыТоваровОстатки
     |      ON ПартииТоваровОстатки.Товар = РезервыТоваровОстатки.Товар
     |      AND ПартииТоваровОстатки.Фирма = РезервыТоваровОстатки.Фирма
     |      AND ПартииТоваровОстатки.Склад = РезервыТоваровОстатки.Склад
     |      AND ПартииТоваровОстатки.Партия = РезервыТоваровОстатки.Партия
     |WHERE ($Цены.ТипЦен = :ТипЦен) AND ($Цены.Фирма = :ВыбФирма)            
     |";

Хочу сгруппировать по Складу, ставлю
GROUP BY ПартииТоваровОстатки.Склад
и соответственно добавляю SUM, но не хочет SUM работать с периодическими реквизитами справочника, как быть?
  
Наверх
ICQ  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Как сгруппировать Запрос
Ответ #1 - 23. Марта 2008 :: 19:20
Печать  
Может попробуй вложенный подзапрос?
А не смущает то что цена у разных партий могла быть и разной?
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Как сгруппировать Запрос
Ответ #2 - 25. Марта 2008 :: 20:37
Печать  
Не настолько силен в скриптах 1С++, но мне так кажеться что full join делать не надо (как первій так и второй). Можно сделать подзапросы. Хотя надо смотреть на реалтный запрос что посылает 1С++ через профайлер.
  
Наверх
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Как сгруппировать Запрос
Ответ #3 - 25. Марта 2008 :: 21:47
Печать  
pvase писал(а) 25. Марта 2008 :: 20:37:
но мне так кажеться что full join делать не надо


Наверное автору нужен union all (на правах телепата)
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать