Проверка совпадения таблиц путем сравнения полного и внутреннего соединения

FastCode 1518 12 22 67

Это более простой вариант сравнения таблиц с эталоном, чем, например, в 53. Здесь используется тот факт, что КОЛИЧЕСТВО(*) показывает общее количество строк полного соединения, а КОЛИЧЕСТВО(Товары.Номенклатура) и КОЛИЧЕСТВО(Эталон.Номенклатура) только число строк не ЕСТЬNULL. При совпадении таблиц все эти количества должны быть равны, что и проверяется самым коротким способом с использованием тернарного логического условия МЕЖДУ.

Автор: ildarovich

ВЫБРАТЬ
	Товары.Номенклатура,
	Товары.Количество
ПОМЕСТИТЬ Эталон
ИЗ
	&Товары КАК Товары
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	Товары.Ссылка
ИЗ
	Документ.ЗаказПокупателя.Товары КАК Товары
		ПОЛНОЕ СОЕДИНЕНИЕ Эталон КАК Эталон
		ПО Товары.Номенклатура = Эталон.Номенклатура
			И Товары.Количество = Эталон.Количество

СГРУППИРОВАТЬ ПО
	Товары.Ссылка

ИМЕЮЩИЕ
	КОЛИЧЕСТВО(Товары.Номенклатура) МЕЖДУ КОЛИЧЕСТВО(*) И КОЛИЧЕСТВО(Эталон.Номенклатура)
0
{2} Ожидается идентификатор

См. также

ПутьКИнформационнойБазе (БСП)

Функция сравнения значений (рекурсивно)

ХешПолногоПутиКФорме (БСП)

СформироватьСловарьПолныхПутейКФормам (БСП)

ПолныйПутьТома (БСП)

ПолныйПутьКФормеПередЗаписьюПередЗаписью (БСП)

ЗаполнитьХешПолногоПутиКФорме (БСП)

Сравнить ТЗ

Полный путь до предопределенного значения, включая имя самого значения

Модератору