Запрос: как объединить две таблицы с приоритетом одной из низ?

1. MaQo 29.03.24 09:20 Сейчас в теме
Есть две временные таблицы Номенклатура-ВидЦены-Цена. В двух таблицах есть как разные товары, так и совпадающие, но с разной ценой. Нужно взять всю номенклатуру из обеих таблиц, но цены по пересекающейся номенклатуре взять из одной таблицы(с приоритетом.)

Беру это из соглашений - есть уточнение цены по ценовым группам, а есть ещё по конкретным товарам. В итоге бывает, что есть уточнение на товар, который входит в ценовую группу, на которую тоже есть уточнение. Нужно взять товарное уточнение в таком случае.

Получить сделать через КОГДА ТОГДА, но, думаю, есть более лаконичное решение.

ВЫБРАТЬ РАЗЛИЧНЫЕ
///////	ЦеновыеГруппы.ВидЦен КАК ВидЦен,
///////	Номенклатура.Ссылка КАК Номенклатура
ПОМЕСТИТЬ ТЗСоглашение
ИЗ
///////	Справочник.СоглашенияСКлиентами.ЦеновыеГруппы КАК ЦеновыеГруппы
//////////////	ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
//////////////	ПО (ЦеновыеГруппы.ЦеноваяГруппа = Номенклатура.ЦеноваяГруппа)
/////////////////////	И (ЦеновыеГруппы.Ссылка = &Ссылка)
			
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
///////	СоглашенияСКлиентамиТовары.Цена КАК Цена,
///////	СоглашенияСКлиентамиТовары.Номенклатура КАК Номенклатура,
///////	СоглашенияСКлиентамиТовары.ВидЦены КАК ВидЦены
ПОМЕСТИТЬ ТЗСоглашениеТовары
ИЗ
///////	Справочник.СоглашенияСКлиентами.Товары КАК СоглашенияСКлиентамиТовары
ГДЕ
///////	СоглашенияСКлиентамиТовары.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
///////	ВЫБОР
//////////////	КОГДА ТЗСоглашениеТовары.Номенклатура <> NULL
/////////////////////	ТОГДА ТЗСоглашениеТовары.Номенклатура
//////////////	ИНАЧЕ ТЗСоглашение.Номенклатура
///////	КОНЕЦ КАК Номенклатура,
/////// ВЫБОР
//////////////	КОГДА ТЗСоглашениеТовары.ВидЦены <> NULL
/////////////////////	ТОГДА ТЗСоглашениеТовары.ВидЦены
//////////////	ИНАЧЕ ТЗСоглашение.ВидЦен
///////	КОНЕЦ КАК ВидЦены,
///////	ВЫБОР
//////////////	КОГДА ТЗСоглашениеТовары.ВидЦены = NULL
/////////////////////	ТОГДА ТЗСоглашениеТовары.Цена
//////////////	ИНАЧЕ NULL
///////	КОНЕЦ КАК Цена
ПОМЕСТИТЬ тзСоглашениеНоменклатура
ИЗ
///////	ТЗСоглашение КАК ТЗСоглашение
//////////////	ПОЛНОЕ СОЕДИНЕНИЕ ТЗСоглашениеТовары КАК ТЗСоглашениеТовары
//////////////	ПО ТЗСоглашение.Номенклатура= ТЗСоглашениеТовары.Номенклатура
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. VmvLer 29.03.24 10:21 Сейчас в теме
Условия в первых двух пакетах противоречивы

///////////////////// И (ЦеновыеГруппы.Ссылка = &Ссылка)

ГДЕ
/////// СоглашенияСКлиентамиТовары.Ссылка = &Ссылка
3. MaQo 29.03.24 10:44 Сейчас в теме
(2)ценовыеГруппы.ссылка - это соглашение
4. Said-We 29.03.24 11:33 Сейчас в теме
(1) Объединить две таблицы. Свернуть. И далее выбор когда....
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот