Как в запросе сравнить табличные части двух документов ? #518704


#0 by Родной
Есть два дока одного вида. Как в результате запроса получить просто Истина или Ложь ? Тоесть равны табл. части или нет. Можно и не запросом, главное быстро. Спасибо.
#1 by mikecool
ОБЪЕДИНИТЬ + доп поле с 1 + СГРУППИРОВАТЬ + ИМЕЮЩИЕ допполе > 1 - вот тут и будут неравные
#2 by Cube
А что для тебя значит выражение "равны табл. части"?
#3 by el-gamberro
О... это есть великое колдунство!
#4 by el-gamberro
Выгрузить обе ТЧ в ТЗ, далее Если ТЗ1 = ТЗ2 Тогда
#5 by Виталий
Как вариант:
#6 by Родной
а можешь пример ? пост в голове расшифровать немогу...
#7 by Виталий
Как вариант:
#8 by Родной
хм, незнал что их так можно сравнить... спасибо
#9 by dimoff
В бред написан, имхо
#10 by Родной
Не. непрокатит мне в ТЗ сравнивать. Нужно именно в запросе...
#11 by dimoff
Сравнить в запросе легко. Выбрать различные из запроса с объединением таб. частей и сравнить количество записей с количеством строк в документах.
#12 by МихаилМ
таб1 LEFT JOIN tab2 ON таб1.поле1 = таб2.поле2 ... WHERE tab2.ссылка is not NULL
#13 by mikecool
Выбрать Количество(*) Как Результат ИЗ (выбрать * , 1 Как ДопПоле из Документ где Документ.Ссылка = &Ссылка1 ОБЪЕДИНИТЬ из Документ где Документ.Ссылка = &Ссылка2) как ВлЗапрос Сгруппировать По * Имеющие Не Сумма(ДопПоле) = 0 * заменяем на список полей
#14 by Grusswelle
мдя...
#15 by Виталий
Не прокатит, нужно полное соединение:    ВЫБОР        КОГДА Таб1.Ссылка IS NULL ИЛИ Таб1.Ссылка IS NULL
#16 by dimoff
#17 by el-gamberro
неправильно. а вот в правильная идея.
#18 by Crosby
Если не в запросе: Почти как в , только сравнение другое: Выгрузить обе ТЧ в две ТЗ
#19 by Crosby
+ как раз полная идентичность. Даже совпадение порядка строк.
#20 by dimoff
В 16 реализация 11
#21 by dimoff
+20 На всякий случай сейчас проверю 16.
#22 by el-gamberro
Если цена или кол-во отличаются а кол-во строк совпадает, то твой запрос выдаст истину. а вот если по 11 сделать, то выдаст ложь.
#23 by dimoff
В 16 неточность, вот проверенно работающий запрос Запрос = Новый Запрос;
#24 by el-gamberro
явно перемудрил))
#25 by dimoff
Ничего перемудреного нет, счетчик для каждой строки должен показать 1 если ввсе строки идентичны, соответственно минимум должен быть равен 1 и максимум 1, всё предельно просто.
#26 by artbear
1. Что означает "таблица равны"? Сначала нужно определиться с терминами! Равны по каким-то ключевым полям или количество строк одинаково или еще что? Номер/порядок строки имеет значение? 2. Нужно определиться со списком ключевых полей, по которым идет сравнение. . В неявно выделены ключевые поля + к ним добавлен номер строки, но ИМХО решение все равно слишком хитрое.
#27 by dimoff
Да, оно жутко хитрое, я большой хитрец
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С