Доброго времени суток! Такая проблема с объединение 2 запросов. Не объединяет поля запросов, а выводит их друг под другом как 2 отдельных запроса(да, это и есть 2 отдельных запроса, но мне нужно чтобы они свернулись). Спасибо!
ВЫБРАТЬ
ВложенныйЗапрос.Накладная,
СУММА(ВложенныйЗапрос.СуммаНакладной) КАК СуммаНакладной,
ВложенныйЗапрос.МаршрутныйЛист,
ВложенныйЗапрос.Дата КАК ДатаДокумента,
СУММА(ВложенныйЗапрос.СуммаКорректировки) КАК СуммаКорректировки,
ВложенныйЗапрос.ПричиныНедопоставки,
ВложенныйЗапрос.ОтветственноеЛицо,
ВложенныйЗапрос.Корректировка
ИЗ
(ВЫБРАТЬ
ЗаданиеНаПеревозкуРаспоряжения.Распоряжение.Ссылка КАК Накладная,
ЗаданиеНаПеревозкуРаспоряжения.Распоряжение.СуммаДокумента КАК СуммаНакладной,
ЗаданиеНаПеревозкуРаспоряжения.Ссылка КАК МаршрутныйЛист,
ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Дата КАК Дата,
0 КАК СуммаКорректировки,
NULL КАК ПричиныНедопоставки,
NULL КАК ОтветственноеЛицо,
NULL КАК Корректировка
ИЗ
Документ.ЗаданиеНаПеревозку.Распоряжения КАК ЗаданиеНаПеревозкуРаспоряжения
ГДЕ
ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Проведен = ИСТИНА
И ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ РАЗЛИЧНЫЕ
КорректировкаРеализацииРасхождения.Ссылка.ДокументОснование,
0,
ЗаданиеНаПеревозкуРаспоряжения.Ссылка,
ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Дата,
ВложенныйЗапрос.СуммаКорректировки,
КорректировкаРеализацииРасхождения.союз_ПричиныНедопоставки,
КорректировкаРеализацииРасхождения.союз_ФизЛицо,
КорректировкаРеализацииРасхождения.Ссылка
ИЗ
Документ.КорректировкаРеализации.Расхождения КАК КорректировкаРеализацииРасхождения
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаданиеНаПеревозку.Распоряжения КАК ЗаданиеНаПеревозкуРаспоряжения
ПО КорректировкаРеализацииРасхождения.Ссылка.ДокументОснование = ЗаданиеНаПеревозкуРаспоряжения.Распоряжение
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
СУММА(КорректировкаРеализацииРасхождения.СуммаСНДС) КАК СуммаКорректировки,
КорректировкаРеализацииРасхождения.Ссылка КАК Ссылка
ИЗ
Документ.ЗаданиеНаПеревозку.Распоряжения КАК ЗаданиеНаПеревозкуРаспоряжения
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Расхождения КАК КорректировкаРеализацииРасхождения
ПО ЗаданиеНаПеревозкуРаспоряжения.Распоряжение = КорректировкаРеализацииРасхождения.Ссылка.ДокументОснование
ГДЕ
ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Проведен = ИСТИНА
И ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
И КорректировкаРеализацииРасхождения.Ссылка.Проведен = ИСТИНА
СГРУППИРОВАТЬ ПО
КорректировкаРеализацииРасхождения.Ссылка) КАК ВложенныйЗапрос
ПО КорректировкаРеализацииРасхождения.Ссылка = ВложенныйЗапрос.Ссылка
ГДЕ
КорректировкаРеализацииРасхождения.Ссылка.Проведен = ИСТИНА
И ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Проведен = ИСТИНА
И ЗаданиеНаПеревозкуРаспоряжения.Ссылка.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Накладная,
ВложенныйЗапрос.МаршрутныйЛист,
ВложенныйЗапрос.Дата,
ВложенныйЗапрос.ПричиныНедопоставки,
ВложенныйЗапрос.ОтветственноеЛицо,
ВложенныйЗапрос.Корректировка
ПоказатьПо теме из базы знаний
Найденные решения
(13) если точно не будет несколько, тогда просто:
ВЫБРАТЬ
ВложенныйЗапрос.Накладная,
СУММА(ВложенныйЗапрос.СуммаНакладной) КАК СуммаНакладной,
ВложенныйЗапрос.МаршрутныйЛист,
ВложенныйЗапрос.Дата КАК ДатаДокумента,
СУММА(ВложенныйЗапрос.СуммаКорректировки) КАК СуммаКорректировки,
Максимум(ВложенныйЗапрос.ПричиныНедопоставки) КАК ПричиныНедопоставки,
Максимум(ВложенныйЗапрос.ОтветственноеЛицо КАК ОтветственноеЛицо,
Максимум(ВложенныйЗапрос.Корректировка КАК Корректировка
...
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Накладная,
ВложенныйЗапрос.МаршрутныйЛист,
ВложенныйЗапрос.Дата
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) осталось понять, какие поля Не объединяет и что хотите в итоге получить.
Учитывая, что группировки включает в себя и группировку по полям ПричиныНедопоставки, ОтветственноеЛицо, Корректировка, которые в первом подзапросе всегда NULL, по ним не будет сворачивать.
Учитывая, что группировки включает в себя и группировку по полям ПричиныНедопоставки, ОтветственноеЛицо, Корректировка, которые в первом подзапросе всегда NULL, по ним не будет сворачивать.
(2)
(3)
(4)Как в таком случае поступать? Если нет полей ПричиныНедопоставки, ОтветственноеЛицо, Корректировка то всё хорошо. Мне нужен отчет в виде
МаршрутныйЛист
Расходная---Корректировка---СуммаРасходной---СуммаКорректировки---ОтветЛицо---ПричинаНедопоставки
А у меня получается
МаршрутныйЛист
Расходная---NULL---СуммаРасходной---0---NULL---NULL
Расходная---Корректировка---СуммаРасходной---СуммаКорректировки---ОтветЛицо---ПричинаНедопоставки
Полное соединение не пойдет потому что не у всех документов есть корректировка и корректировок может быть несколько по одному документу
(3)
(4)Как в таком случае поступать? Если нет полей ПричиныНедопоставки, ОтветственноеЛицо, Корректировка то всё хорошо. Мне нужен отчет в виде
МаршрутныйЛист
Расходная---Корректировка---СуммаРасходной---СуммаКорректировки---ОтветЛицо---ПричинаНедопоставки
А у меня получается
МаршрутныйЛист
Расходная---NULL---СуммаРасходной---0---NULL---NULL
Расходная---Корректировка---СуммаРасходной---СуммаКорректировки---ОтветЛицо---ПричинаНедопоставки
Полное соединение не пойдет потому что не у всех документов есть корректировка и корректировок может быть несколько по одному документу
(6)
Когда вы используете "Объединить все" у вас должна быть последовательность колонок одна и в одном, и во втором запросе:
Запрос 1 (документа ЗаданиеНаПеревозку)
Ссылка КАК Расходная,
Неопределено КАК Корректировка,
СуммаРасходной КАК СуммаРасходной,
0 КАК СуммаКорректировки,
Неопределено КАК ОтветЛицо,
Неопределено КАК ПричинаНедопоставки
ИЗ.................
ОБЪЕДИНИТЬ ВСЕ
Запрос 2 (документ КорректировкаРеализации левым соедин...)
Основание,
Ссылка,
СуммаРасходной,
СуммаКорректировки,
ОтветЛицо,
ПричинаНедопоставки
ИЗ.....................
Думаю вам так надо
Когда вы используете "Объединить все" у вас должна быть последовательность колонок одна и в одном, и во втором запросе:
Запрос 1 (документа ЗаданиеНаПеревозку)
Ссылка КАК Расходная,
Неопределено КАК Корректировка,
СуммаРасходной КАК СуммаРасходной,
0 КАК СуммаКорректировки,
Неопределено КАК ОтветЛицо,
Неопределено КАК ПричинаНедопоставки
ИЗ.................
ОБЪЕДИНИТЬ ВСЕ
Запрос 2 (документ КорректировкаРеализации левым соедин...)
Основание,
Ссылка,
СуммаРасходной,
СуммаКорректировки,
ОтветЛицо,
ПричинаНедопоставки
ИЗ.....................
Думаю вам так надо
(6) и попробуйте ответить сами себе, как должна сворачиваться следующая ситуация:
Расходная---NULL---СуммаРасходной---0---NULL---NULL
Расходная---Корректировка1---СуммаРасходной1---СуммаКорректировки1---ОтветЛицо1---ПричинаНедопоставки1
Расходная---Корректировка2---СуммаРасходной2---СуммаКорректировки2---ОтветЛицо2---ПричинаНедопоставки2
Расходная---NULL---СуммаРасходной---0---NULL---NULL
Расходная---Корректировка1---СуммаРасходной1---СуммаКорректировки1---ОтветЛицо1---ПричинаНедопоставки1
Расходная---Корректировка2---СуммаРасходной2---СуммаКорректировки2---ОтветЛицо2---ПричинаНедопоставки2
(13) если точно не будет несколько, тогда просто:
ВЫБРАТЬ
ВложенныйЗапрос.Накладная,
СУММА(ВложенныйЗапрос.СуммаНакладной) КАК СуммаНакладной,
ВложенныйЗапрос.МаршрутныйЛист,
ВложенныйЗапрос.Дата КАК ДатаДокумента,
СУММА(ВложенныйЗапрос.СуммаКорректировки) КАК СуммаКорректировки,
Максимум(ВложенныйЗапрос.ПричиныНедопоставки) КАК ПричиныНедопоставки,
Максимум(ВложенныйЗапрос.ОтветственноеЛицо КАК ОтветственноеЛицо,
Максимум(ВложенныйЗапрос.Корректировка КАК Корректировка
...
СГРУППИРОВАТЬ ПО
ВложенныйЗапрос.Накладная,
ВложенныйЗапрос.МаршрутныйЛист,
ВложенныйЗапрос.Дата
Показать
(8)да, просмотрел.
1й подзапрос нужен я так понимаю только для получения "СуммаРасходной". наверное лучше ее левым соединением прибавить... т.к. ряд полей в основании отсуствует.
МаршрутныйЛист
Расходная---Корректировка---СуммаРасходной---СуммаКорректировки---ОтветЛицо---ПричинаНедопоставки
А у меня получается
МаршрутныйЛист
Расходная---NULL---СуммаРасходной---0---NULL---NULL
Расходная---Корректировка---СуммаРасходной---СуммаКорректировки---ОтветЛицо---ПричинаНедопоставки
Расходная---Корректировка---СуммаРасходной---СуммаКорректировки---ОтветЛицо---ПричинаНедопоставки
А у меня получается
МаршрутныйЛист
Расходная---NULL---СуммаРасходной---0---NULL---NULL
Расходная---Корректировка---СуммаРасходной---СуммаКорректировки---ОтветЛицо---ПричинаНедопоставки
1й подзапрос нужен я так понимаю только для получения "СуммаРасходной". наверное лучше ее левым соединением прибавить... т.к. ряд полей в основании отсуствует.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот