Схлопнуть пустые строки при формировании запроса
Как можно еще перепистать запрос, чтобы если по двум таблицам есть сопадения, чтобы они схлопывались.
Конфа ЕРП.
Запрос таков:
Конфа ЕРП.
Запрос таков:
ВЫБРАТЬ
Номенклатура.Ссылка КАК Номенклатура,
NULL КАК Штрихкод,
УпаковкиЕдиницыИзмерения.Ссылка КАК Упаковка,
УпаковкиЕдиницыИзмерения.Типоразмер КАК ТипоразмерУпаковки
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
ПО Номенклатура.Ссылка = УпаковкиЕдиницыИзмерения.Владелец
СГРУППИРОВАТЬ ПО
Номенклатура.Ссылка,
УпаковкиЕдиницыИзмерения.Ссылка,
УпаковкиЕдиницыИзмерения.Типоразмер
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ШтрихкодыНоменклатуры.Номенклатура,
ШтрихкодыНоменклатуры.Штрихкод,
ШтрихкодыНоменклатуры.Упаковка.Ссылка,
ШтрихкодыНоменклатуры.Упаковка.Типоразмер
ИЗ
РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
ПО ШтрихкодыНоменклатуры.Упаковка = УпаковкиЕдиницыИзмерения.Ссылка
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(13)
для чего здесь левое соединение которое не используется?
ВЫБРАТЬ
ШтрихкодыНоменклатуры.Номенклатура,
ШтрихкодыНоменклатуры.Штрихкод,
ШтрихкодыНоменклатуры.Упаковка.Ссылка,
ШтрихкодыНоменклатуры.Упаковка.Типоразмер
ИЗ
РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
ПО ШтрихкодыНоменклатуры.Упаковка = УпаковкиЕдиницыИзмерения.Ссылка
Показатьдля чего здесь левое соединение которое не используется?
(18) В таком случае выбирайте номенклатуру и ее единицу измерения из РС и Справочника в одну временную таблицу.
Далее к этой таблицы делайте левое соединение ШК.
Что-то вроде такого:
Далее к этой таблицы делайте левое соединение ШК.
Что-то вроде такого:
Выбрать
СпрНоменклатура.Ссылка КАК Номенклатура,
ЕдиницыИзмерения.Ссылка КАК ЕдиницаИзмерения
ПОМЕСТИТЬ ВТ_Номенклатура
Из Справочник.Номенклатура КАК СпрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК ЕдиницыИзмерения
ПО СпрНоменклатура.Ссылка = ЕдиницыИзмерения.Владелец.
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ШтрихкодыНоменклатуры.Номенклатура,
ШтрихкодыНоменклатуры.Упаковка
ИЗ
РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
;
ВЫбрать
ВТНомеклатура.Номенклатура,
ВТНоменклатура.Упаковка,
ШтрихкодыНоменклатуры.ШтрихКод
ИЗ
ВТ_Номенклатура КАК ВтНоменклатура
ЛЕВОЕ СОединение РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ПО ВтНоменклатура.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
И ВтНоменклатура.ЕдиницаИзмерения = ШтрихкодыНоменклатуры.Упаковка
Показать
(22)Вот тренажер:
Тренируйтесь :)
ВЫБРАТЬ
"Кефир" КАК Номенклатура,
"ящ(5 шт)" КАК Упаковка
ПОМЕСТИТЬ ВТ_СпрНоменклатура
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Кефир",
"ящ(10 шт)"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Кефир",
"ящ(15 шт)"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Кефир",
"ящ(20 шт)"
;
ВЫБРАТЬ
"5646" КАК ШтрихКод,
"Кефир" КАК Номенклатура,
"ящ(5 шт)" КАК Упаковка
ПОМЕСТИТЬ ВТ_РегистрШК
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"5648",
"Кефир",
"ящ(10 шт)"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"5647",
"Кефир",
""
//"ящ(15 шт)"
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"5649",
"Кефир",
//""
"ящ(20 шт)"
;
Выбрать
СпрНоменклатура.Номенклатура,
СпрНоменклатура.Упаковка КАК ЕдиницаИзмерения
ПОМЕСТИТЬ ВТ_Номенклатура
Из ВТ_СпрНоменклатура КАК СпрНоменклатура
ОБЪЕДИНИТЬ
ВЫБРАТЬ
ШтрихкодыНоменклатуры.Номенклатура,
ШтрихкодыНоменклатуры.Упаковка
ИЗ
ВТ_РегистрШК КАК ШтрихкодыНоменклатуры
ГДЕ
НЕ ШтрихкодыНоменклатуры.Упаковка = ""
;
ВЫбрать
ВТНоменклатура.Номенклатура,
ВТНоменклатура.ЕдиницаИзмерения,
ШтрихкодыНоменклатуры.ШтрихКод
ИЗ
ВТ_Номенклатура КАК ВтНоменклатура
ЛЕВОЕ СОединение ВТ_РегистрШК КАК ШтрихкодыНоменклатуры
ПО ВтНоменклатура.Номенклатура = ШтрихкодыНоменклатуры.Номенклатура
И ВтНоменклатура.ЕдиницаИзмерения = ШтрихкодыНоменклатуры.Упаковка
ПоказатьТренируйтесь :)
может как-то так
за правильность запроса не гарантирую, ерп или похожей нет под рукой
но идея должна быть понятна
ВЫБРАТЬ
Номенклатура.Ссылка КАК Номенклатура,
ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
УпаковкиЕдиницыИзмерения.Ссылка КАК Упаковка,
УпаковкиЕдиницыИзмерения.Типоразмер КАК ТипоразмерУпаковки
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
ПО Номенклатура.Ссылка = УпаковкиЕдиницыИзмерения.Владелец
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ПО Номенклатура.Ссылка =ШтрихкодыНоменклатуры.Номенклатура
И УпаковкиЕдиницыИзмерения.Ссылка = ШтрихкодыНоменклатуры.Упаковка
СГРУППИРОВАТЬ ПО
Номенклатура.Ссылка,
УпаковкиЕдиницыИзмерения.Ссылка,
УпаковкиЕдиницыИзмерения.Типоразмер
Показатьза правильность запроса не гарантирую, ерп или похожей нет под рукой
но идея должна быть понятна
(2)
Ошибка: неоднозначное поле:
ПО Номенклатура.Ссылка =ШтрихкодыНоменклатуры.Номенклатура
ВЫБРАТЬ
Номенклатура.Ссылка КАК Номенклатура,
ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
УпаковкиЕдиницыИзмерения.Ссылка КАК Упаковка,
УпаковкиЕдиницыИзмерения.Типоразмер КАК ТипоразмерУпаковки
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
ПО Номенклатура.Ссылка = УпаковкиЕдиницыИзмерения.Владелец
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ПО Номенклатура.Ссылка =ШтрихкодыНоменклатуры.Номенклатура
И УпаковкиЕдиницыИзмерения.Ссылка = ШтрихкодыНоменклатуры.Упаковка
СГРУППИРОВАТЬ ПО
Номенклатура.Ссылка,
УпаковкиЕдиницыИзмерения.Ссылка,
УпаковкиЕдиницыИзмерения.Типоразмер
ПоказатьНоменклатура.Ссылка КАК Номенклатура,
ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
УпаковкиЕдиницыИзмерения.Ссылка КАК Упаковка,
УпаковкиЕдиницыИзмерения.Типоразмер КАК ТипоразмерУпаковки
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
ПО Номенклатура.Ссылка = УпаковкиЕдиницыИзмерения.Владелец
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ПО Номенклатура.Ссылка =ШтрихкодыНоменклатуры.Номенклатура
И УпаковкиЕдиницыИзмерения.Ссылка = ШтрихкодыНоменклатуры.Упаковка
СГРУППИРОВАТЬ ПО
Номенклатура.Ссылка,
УпаковкиЕдиницыИзмерения.Ссылка,
УпаковкиЕдиницыИзмерения.Типоразмер
Ошибка: неоднозначное поле:
ПО Номенклатура.Ссылка =ШтрихкодыНоменклатуры.Номенклатура
(4)написал так
но теперь штрихкод убрался, по которому нет упаковки, а он должен быть
ВЫБРАТЬ
спрНоменклатура.Ссылка КАК Номенклатура,
рсШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
спрУпаковкиЕдиницыИзмерения.Ссылка КАК Упаковка,
спрУпаковкиЕдиницыИзмерения.Типоразмер КАК ТипоразмерУпаковки
ИЗ
Справочник.Номенклатура КАК спрНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК спрУпаковкиЕдиницыИзмерения
ПО спрНоменклатура.Ссылка = спрУпаковкиЕдиницыИзмерения.Владелец
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК рсШтрихкодыНоменклатуры
ПО спрНоменклатура.Ссылка = рсШтрихкодыНоменклатуры.Номенклатура
И (спрУпаковкиЕдиницыИзмерения.Ссылка = рсШтрихкодыНоменклатуры.Упаковка)
Показатьно теперь штрихкод убрался, по которому нет упаковки, а он должен быть
Прикрепленные файлы:
(5) тогда может так
ВЫБРАТЬ
Номенклатура.Ссылка КАК Номенклатура,
УпаковкиЕдиницыИзмерения.Ссылка КАК Упаковка,
УпаковкиЕдиницыИзмерения.Типоразмер КАК ТипоразмерУпаковки
ПОМЕСТИТЬ втТоварУапковка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
ПО Номенклатура.Ссылка = УпаковкиЕдиницыИзмерения.Владелец
;
//////////////////////////////////////
ВЫБРАТЬ
ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура ,
ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
ШтрихкодыНоменклатуры.Упаковка.Ссылка КАК Упаковка,
ШтрихкодыНоменклатуры.Упаковка.Типоразмер КАК Типоразмер
ПОМЕСТИТЬ втТоварШтрихКод
ИЗ
РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.УпаковкиЕдиницыИзмерения КАК УпаковкиЕдиницыИзмерения
ПО ШтрихкодыНоменклатуры.Упаковка = УпаковкиЕдиницыИзмерения.Ссылка
;
///////////////////////////////
ВЫБРАТЬ
втТоварУпаковка.Номенклатура КАК Номенклатура,
втТоварУпаковка.Упаковка КАК Упаковка,
втТоварШтрихКод.Штрихкод КАК ШтрихКод,
втТоварУпаковка.ТипоразмерУпаковкиКАК ТипоразмерУпаковки
ИЗ
втТоварУпаковка КАК втТоварУпаковка
ЛЕВОЕ СОЕДИНЕНИЕ втТоварШтрихКод КАК втТоварШтрихКод
ПО втТоварШтрихКод.Номенклатура = втТоварУпаковка.Номенклатура
И втТоварШтрихКод.Упаковка = втТоварУпаковка.Упаковка
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот