Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Подскажите с выборкой из union, плз... (число прочтений - 1923 )
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Подскажите с выборкой из union, плз...
04. Сентября 2008 :: 10:29
Печать  
Если делаю так (объединение двух запросов), то все работает:
Код
Выбрать все
(
select ПродажиПоДням.Номенклатура [Номенклатура $Справочник.Номенклатура], ПродажиПоДням.Склад [Склад $Справочник.Склады],
sum(ПродажиПоДням.Количество) [ВсегоПродажи],
avg(ПродажиПоДням.Количество) [СредниеПродажи],
max(ПродажиПоДням.Количество) [МаксимальныеПродажи],
min(ПродажиПоДням.Количество) [МинимальныеПродажи],
stdev(ПродажиПоДням.Количество) [СтандартноеОтклонение],
0 [ОстатокНаКонецПериода]

from
(select
cast(left(Продажи.date_time_iddoc,8) as datetime) [Дата], $Продажи.Номенклатура [Номенклатура], $Продажи.Склад [Склад],
sum($Продажи.Количество) [Количество]
from $Регистр.ОстаткиТМЦ as Продажи (nolock)
where
Продажи.date_time_iddoc between :НачДата and :КонДата~
and $Продажи.Внутреннее=0
and  Продажи.debkred=1
group by cast(left(Продажи.date_time_iddoc,8) as datetime), $Продажи.Номенклатура , $Продажи.Склад
) as  ПродажиПоДням
group by  ПродажиПоДням.Склад, ПродажиПоДням.Номенклатура
)

union all


(
select Остатки.Номенклатура [Номенклатура $Справочник.Номенклатура], Остатки.Склад [Склад $Справочник.Склады],
0 [ВсегоПродажи],
0 [СредниеПродажи],
0 [МаксимальныеПродажи],
0 [МинимальныеПродажи],
0 [СтандартноеОтклонение],
Остатки.КоличествоОстаток [ОстатокНаКонецПериода]

from
$РегистрОстатки.ОстаткиТМЦ(:КонДата~, , ,(Номенклатура,Склад),(Количество)) as Остатки
)
 


Если же пытаюсь свернуть все конструкцией
Код
Выбрать все
select Номенклатура [Номенклатура $Справочник.Номенклатура], Склад [Склад $Справочник.Склады],
sum(ВсегоПродажи) [ВсегоПродажи],
sum(СредниеПродажи) [СредниеПродажи],
sum(МаксимальныеПродажи) [МаксимальныеПродажи],
sum(МинимальныеПродажи) [МинимальныеПродажи],
sum(СтандартноеОтклонение) [СтандартноеОтклонение],
sum(ОстатокНаКонецПериода) [ОстатокНаКонецПериода]

from
(
.... Тут первый запрос
)
group by Номенклатура, Склад
 


Ругается на синтаксис.
  
Наверх
ICQ  
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Подскажите с выборкой из union, плз...
Ответ #1 - 04. Сентября 2008 :: 11:05
Печать  
А как ругается-то? Текст ошибки покажи.
  
Наверх
 
IP записан
 
U_zer
Экс-Участник


Re: Подскажите с выборкой из union, плз...
Ответ #2 - 04. Сентября 2008 :: 11:08
Печать  
Надо

select
from
(
select
uniun
select
union
select
)
  
Наверх
 
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Подскажите с выборкой из union, плз...
Ответ #3 - 04. Сентября 2008 :: 11:09
Печать  
Кажись, и без текста ошибки понял.
Имя выборке задай:

from
(
.... Тут первый запрос
) Выборка
group by Номенклатура, Склад

  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Подскажите с выборкой из union, плз...
Ответ #4 - 04. Сентября 2008 :: 11:13
Печать  
sadovnikov писал(а) 04. Сентября 2008 :: 11:09:
Имя выборке задай

Спасибо! Именно так!
  
Наверх
ICQ  
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Подскажите с выборкой из union, плз...
Ответ #5 - 04. Сентября 2008 :: 11:20
Печать  
А чтоб группу сразу в запросе выдернуть - еще в один запрос
оборачивать?
И вообще, я двигаюсь по верному пути, или есть более короткий правильный путь?
  
Наверх
ICQ  
IP записан
 
sadovnikov
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 420
Зарегистрирован: 06. Марта 2007
Re: Подскажите с выборкой из union, плз...
Ответ #6 - 04. Сентября 2008 :: 11:41
Печать  
Так ты задачу опиши.
  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Подскажите с выборкой из union, плз...
Ответ #7 - 04. Сентября 2008 :: 12:36
Печать  
sadovnikov писал(а) 04. Сентября 2008 :: 11:41:
Так ты задачу опиши.

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