Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Прямой запрос по подчиненным документам   (число прочтений - 12261 )
Baik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 31. Октября 2006
Re: Прямой запрос по подчиненным документам  
Ответ #15 - 07. Ноября 2006 :: 11:48
Печать  
berezdetsky писал(а) 07. Ноября 2006 :: 11:31:
Прочитай внимательнее - там говорится о WITH CUBE. К WITH ROLLUP это не относится.

Да, я читал, но у меня он принципиально игнорирует условие Having и выводит именно итог по ВСЕМ докам выбранного контрагента (а не только по тем что подходят под условие). Поэтому я и подумал что тоже самое и для WITH ROLLUP.
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямой запрос по подчиненным документам  
Ответ #16 - 07. Ноября 2006 :: 11:56
Печать  
Baik писал(а) 07. Ноября 2006 :: 11:48:
berezdetsky писал(а) 07. Ноября 2006 :: 11:31:
Прочитай внимательнее - там говорится о WITH CUBE. К WITH ROLLUP это не относится.

Да, я читал, но у меня он принципиально игнорирует условие Having и выводит именно итог по ВСЕМ докам выбранного контрагента (а не только по тем что подходят под условие). Поэтому я и подумал что тоже самое и для WITH ROLLUP.

Это не удивительно, учитывая, что HAVING накладывается после группировки и агрегации. И да, был не прав - относится и к ROLLUP, хотя даже BOL говорит только о CUBE.
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Baik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 31. Октября 2006
Re: Прямой запрос по подчиненным документам  
Ответ #17 - 07. Ноября 2006 :: 12:12
Печать  
А WITH ROLLUP  вынести во внешний запрос?
  
Наверх
 
IP записан
 
Baik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 31. Октября 2006
Re: Прямой запрос по подчиненным документам  
Ответ #18 - 07. Ноября 2006 :: 12:36
Печать  
Что - то типа вот этого?:

Код
Выбрать все
Select Выб.IDdoc [Документ $Документ],
Sum($Выб.СуммаВзаиморасчетов ) as СуммаВзаиморасчетов
From
(Select
Док.IDdoc [Документ $Документ.Реализация]
From
$Документ.Реализация Док (nolock)
    Left Join $Документ.ПКО ДокОп (nolock) ON $ДокОп.ДокОснование = $ВидДокумента36.Реализация +Док.iddoc
GROUP BY Док.IDdoc, $Док.СуммаВзаиморасчетов
HAVING $Док.СуммаВзаиморасчетов > IsNull(SUM($ДокОп.СуммаВзаиморасчетов), 0)
) as Выб
GROUP BY Выб.IDdoc WITH ROLLUP
 

  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Прямой запрос по подчиненным документам  
Ответ #19 - 07. Ноября 2006 :: 13:15
Печать  
Что-то типа вот этого:
Код
Выбрать все
Select Выб.IDdoc [Документ $Документ.Реализация],
    Sum(Выб.СуммаВзаиморасчетов) as СуммаВзаиморасчетов
From
    (Select Док.IDdoc
	  , $Док.СуммаВзаиморасчетов AS СуммаВзаиморасчетов
    From $Документ.Реализация Док (nolock)
	  Left Join $Документ.ПКО ДокОп (nolock) ON $ДокОп.ДокОснование = $ВидДокумента36.Реализация +Док.iddoc
    GROUP BY Док.IDdoc, $Док.СуммаВзаиморасчетов
    HAVING $Док.СуммаВзаиморасчетов > IsNull(SUM($ДокОп.СуммаВзаиморасчетов), 0)
) as Выб
GROUP BY Выб.IDdoc WITH ROLLUP  

  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
Baik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 18
Зарегистрирован: 31. Октября 2006
Re: Прямой запрос по подчиненным документам  
Ответ #20 - 08. Ноября 2006 :: 07:22
Печать  
Всё - Ок. Всем спасибо!
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать