|
объединение 2 запросов | ☑ | ||
---|---|---|---|---|
0
Casper21
18.11.15
✎
15:04
|
как верно объединить эти 2 запроса? по номенклатуре ??
ЕТОТ ВЫБРАТЬ ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, СУММА(ЗаказПокупателяТовары.Количество) КАК Количество, КОЛИЧЕСТВО(ПродажиОбороты.КоличествоОборот) КАК КоличествоПродажей, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Период) КАК ДнейПродажи, СУММА(ЗаказПокупателяТовары.Количество) / КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Период) КАК СерПрод ИЗ РегистрНакопления.Продажи.Обороты(НАЧАЛОПЕРИОДА(&Дата, МЕСЯЦ), КОНЕЦПЕРИОДА(&Дата, МЕСЯЦ), День, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ПО (ЗаказПокупателяТовары.Номенклатура = ПродажиОбороты.Номенклатура) ГДЕ НЕ ЗаказПокупателяТовары.Номенклатура ЕСТЬ NULL СГРУППИРОВАТЬ ПО ЗаказПокупателяТовары.Номенклатура //////////////////////////////// И етот ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, СУММА( ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Период = НАЧАЛОПЕРИОДА(&КонПериода, День) ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <= 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) ИНАЧЕ РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, &КонПериода, ДЕНЬ) + 1 КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток > 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.Период, &КонПериода, ДЕНЬ) + 1 ИНАЧЕ 0 КОНЕЦ КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) ИНАЧЕ 0 КОНЕЦ КОНЕЦ) КАК КоличествоДнейНаСкладе ИЗ (ВЫБРАТЬ ТаблицаПредыдущиеПериоды.Номенклатура КАК Номенклатура, ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТаблицаПредыдущиеПериоды.Склад КАК Склад, ТаблицаПредыдущиеПериоды.Период КАК Период, ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТаблицаПредыдущиеПериоды.ПредыдущийПериод КАК ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстатокПредыдущий ИЗ ( ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты1.Склад КАК Склад, ПартииТоваровНаСкладахОстаткиИОбороты1.Период КАК Период, ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, МАКСИМУМ(ПартииТоваровНаСкладахОстаткиИОбороты2.Период) КАК ПредыдущийПериод ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОбороты1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОбороты2 ПО (ИСТИНА) И ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура = ПартииТоваровНаСкладахОстаткиИОбороты2.Номенклатура И ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОбороты2.ХарактеристикаНоменклатуры И ПартииТоваровНаСкладахОстаткиИОбороты1.Склад = ПартииТоваровНаСкладахОстаткиИОбороты2.Склад И ПартииТоваровНаСкладахОстаткиИОбороты1.Период > ПартииТоваровНаСкладахОстаткиИОбороты2.Период СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты1.Склад, ПартииТоваровНаСкладахОстаткиИОбороты1.Период, ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток ) КАК ТаблицаПредыдущиеПериоды ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , Номенклатура В ИЕРАРХИИ (&Номенклатура)) КАК ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие ПО ИСТИНА И ТаблицаПредыдущиеПериоды.Номенклатура = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Номенклатура И ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.ХарактеристикаНоменклатуры И ТаблицаПредыдущиеПериоды.Склад = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Склад И ТаблицаПредыдущиеПериоды.ПредыдущийПериод = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Период ) КАК ПартииТоваровНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Склад АВТОУПОРЯДОЧИВАНИЕ Спасибо. |
|||
1
elCust
18.11.15
✎
15:07
|
UNION ALL
|
|||
2
ibreiter
18.11.15
✎
15:08
|
Объединить все
|
|||
3
Живой Ископаемый
18.11.15
✎
15:08
|
соединить в смысле? или объединить все-таки?
|
|||
4
Casper21
18.11.15
✎
15:10
|
(3) то есть добавить поле "ПартииТоваровНаСкладах ОстаткиИОбороты.Склад КАК Состав" с 2 большого запроса до 1 запроса
|
|||
5
Casper21
18.11.15
✎
15:11
|
левое соединение?
|
|||
6
VikingKosmo
18.11.15
✎
15:12
|
Пожалуста
|
|||
7
Casper21
18.11.15
✎
15:13
|
а как их объединить и где?(
|
|||
8
Casper21
18.11.15
✎
20:20
|
а через вложение запросы будет верно??
ВЫБРАТЬ ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, СУММА(ЗаказПокупателяТовары.Количество) КАК Количество, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Период) КАК ДнейПродажи, СУММА(ЗаказПокупателяТовары.Количество) / КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПродажиОбороты.Период) КАК СерПрод, ВложенныйЗапрос.КоличествоДнейНаСкладе КАК КоличествоДнейНаСкладе, СУММА(ЗаказПокупателяТовары.Количество) / ВложенныйЗапрос.КоличествоДнейНаСкладе КАК СерПрод2, ВложенныйЗапрос.Склад КАК Склад, ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры ИЗ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад, СУММА(ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.Период = НАЧАЛОПЕРИОДА(&КонПериода, ДЕНЬ) ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток <= 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) ИНАЧЕ РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, &КонПериода, ДЕНЬ) + 1 КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток > 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.Период, &КонПериода, ДЕНЬ) + 1 ИНАЧЕ 0 КОНЕЦ КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстатокПредыдущий > 0 ТОГДА РАЗНОСТЬДАТ(ПартииТоваровНаСкладахОстаткиИОбороты.ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОбороты.Период, ДЕНЬ) ИНАЧЕ 0 КОНЕЦ КОНЕЦ) КАК КоличествоДнейНаСкладе ИЗ (ВЫБРАТЬ ТаблицаПредыдущиеПериоды.Номенклатура КАК Номенклатура, ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ТаблицаПредыдущиеПериоды.Склад КАК Склад, ТаблицаПредыдущиеПериоды.Период КАК Период, ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТаблицаПредыдущиеПериоды.ПредыдущийПериод КАК ПредыдущийПериод, ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстатокПредыдущий ИЗ (ВЫБРАТЬ ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура КАК Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты1.Склад КАК Склад, ПартииТоваровНаСкладахОстаткиИОбороты1.Период КАК Период, ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, МАКСИМУМ(ПартииТоваровНаСкладахОстаткиИОбороты2.Период) КАК ПредыдущийПериод ИЗ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты1 ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты2 ПО (ИСТИНА) И ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура = ПартииТоваровНаСкладахОстаткиИОбороты2.Номенклатура И ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОбороты2.ХарактеристикаНоменклатуры И ПартииТоваровНаСкладахОстаткиИОбороты1.Склад = ПартииТоваровНаСкладахОстаткиИОбороты2.Склад И ПартииТоваровНаСкладахОстаткиИОбороты1.Период > ПартииТоваровНаСкладахОстаткиИОбороты2.Период СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты1.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты1.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты1.Склад, ПартииТоваровНаСкладахОстаткиИОбороты1.Период, ПартииТоваровНаСкладахОстаткиИОбороты1.КоличествоКонечныйОстаток) КАК ТаблицаПредыдущиеПериоды ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачПериода, &КонПериода, День, , ) КАК ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие ПО (ИСТИНА) И ТаблицаПредыдущиеПериоды.Номенклатура = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Номенклатура И ТаблицаПредыдущиеПериоды.ХарактеристикаНоменклатуры = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.ХарактеристикаНоменклатуры И ТаблицаПредыдущиеПериоды.Склад = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Склад И ТаблицаПредыдущиеПериоды.ПредыдущийПериод = ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.Период ГДЕ ТаблицаПредыдущиеПериоды.КоличествоКонечныйОстаток >= 0 И ПартииТоваровНаСкладахОстаткиИОборотыПредыдущие.КоличествоКонечныйОстаток > 0) КАК ПартииТоваровНаСкладахОстаткиИОбороты СГРУППИРОВАТЬ ПО ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура, ПартииТоваровНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, ПартииТоваровНаСкладахОстаткиИОбороты.Склад) КАК ВложенныйЗапрос ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(НАЧАЛОПЕРИОДА(&НачПериода, МЕСЯЦ), КОНЕЦПЕРИОДА(&КонПериода, МЕСЯЦ), День, ) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары ПО (ЗаказПокупателяТовары.Номенклатура = ПродажиОбороты.Номенклатура) ПО (ЗаказПокупателяТовары.Номенклатура = ВложенныйЗапрос.Номенклатура) ГДЕ НЕ ЗаказПокупателяТовары.Номенклатура ЕСТЬ NULL СГРУППИРОВАТЬ ПО ЗаказПокупателяТовары.Номенклатура, ВложенныйЗапрос.КоличествоДнейНаСкладе, ВложенныйЗапрос.Склад, ВложенныйЗапрос.ХарактеристикаНоменклатуры УПОРЯДОЧИТЬ ПО ЗаказПокупателяТовары.Номенклатура.Наименование, Количество, ДнейПродажи, СерПрод, КоличествоДнейНаСкладе, СерПрод2, Склад, ХарактеристикаНоменклатуры ИТОГИ СУММА(Количество) ПО ОБЩИЕ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |