Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема неверно отрабатывает запрос (число прочтений - 1240 )
_Sasha_
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 1
Зарегистрирован: 19. Декабря 2013
неверно отрабатывает запрос
19. Декабря 2013 :: 10:02
Печать  
Помогите, пожалуйста.
Запрос по остаткам ТМЦ. необходимо выводить обороты, остатки на начало/конец периода. Период:выбдата1 - выбдата2.
Необходимые группировки: день, неделя, месяц, год + возможность отбора по различным реквизитам ТМЦ.
Пример: 1. Задаем выбдата1=01.10.2013, выбдата2=31.10.2013. Отбираем по виду ТМЦ = Ветпрепараты. Запрос:

select
$СпрТМЦ.ВидТМЦ as [ВидТМЦ $Справочник.ТМЦВиды],
sum(Рег.КоличествоПриход) as КоличествоПриход,
sum(Рег.КоличествоРасход) as КоличествоРасход,
sum(Рег.СуммаПриход) as СуммаПриход,
sum(Рег.СуммаРасход) as СуммаРасход,
sum(Рег.КоличествоНачальныйОстаток) as КоличествоНачальныйОстаток,
sum(Рег.КоличествоКонечныйОстаток) as КоличествоКонечныйОстаток,
sum(Рег.СуммаНачальныйОстаток) as СуммаНачальныйОстаток,
sum(Рег.СуммаКонечныйОстаток) as СуммаКонечныйОстаток
from
 
left join $Справочник.ТМЦ as СпрТМЦ (nolock) on СпрТМЦ.ID=ТМЦ,$СпрТМЦ.ВидТМЦ= :ВыбВидТМЦ,(ТМЦ),(Количество,Сумма)) as Рег
left join $Справочник.ТМЦ as СпрТМЦ (nolock) on СпрТМЦ.ID=Рег.ТМЦ
group by $СпрТМЦ.ВидТМЦ
order by $СпрТМЦ.ВидТМЦ

Отрабатывает вроде верно.

Пример 2. выбираем также по выбдата1=01.10.2013, выбдата2=31.10.2013 и по виду ТМЦ ветпрепараты. Но уже с группировкой = месяц
select
datepart(month,Рег.Период) as Месяц,
sum(Рег.КоличествоПриход) as КоличествоПриход,
sum(Рег.КоличествоРасход) as КоличествоРасход,
sum(Рег.СуммаПриход) as СуммаПриход,
sum(Рег.СуммаРасход) as СуммаРасход,
sum(Рег.КоличествоНачальныйОстаток) as КоличествоНачальныйОстаток,
sum(Рег.КоличествоКонечныйОстаток) as КоличествоКонечныйОстаток,
sum(Рег.СуммаНачальныйОстаток) as СуммаНачальныйОстаток,
sum(Рег.СуммаКонечныйОстаток) as СуммаКонечныйОстаток
from
иода,
left join $Справочник.ТМЦ as СпрТМЦ (nolock) on СпрТМЦ.ID=ТМЦ,$СпрТМЦ.ВидТМЦ= :ВыбВидТМЦ,(СчетУчета),(Количество,Сумма)) as Рег
group by datepart(month,Рег.Период)

По сути два запроса должны дать одинаковый результат, так как выбдата1 и выбдата2 заданы в пределах одного месяца. Но во втором случае начальные и конечные остатки (по сумме и по количеству) отличаются от остатков, выданных в результате выполнения первого запроса. Приход - расход совпадают. Не понимаю, что не так.
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: неверно отрабатывает запрос
Ответ #1 - 19. Декабря 2013 :: 11:34
Печать  
дык в первом запросе по тмц, во втором по счетУчета свёрнуто..
Как ты проверяешь потом и что ?
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать