Дублирование записей в запросе

1. user1089020 24.02.21 17:51 Сейчас в теме
Добрый вечер, господа программисты!

Никак не пойму одну вещь, а вы наверняка знаете )

Есть запрос, который "фильтрует" некую Таблицу с помощью небольшой таблицы и следующего условия:

ВЫБРАТЬ
	С.ДатаВыдачи,
	Д.Количество,
	С.КоличествоОстаток
ИЗ
	С КАК С
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДолжностиОрганизаций.НормыВыдачи КАК Д
		ПО С.Значение = Д.Инвентарь
			И С.ТекущаяДолжностьОрганизации = Д.Ссылка
ГДЕ
	(Д.Подразделение = С.ТекущееПодразделениеОрганизации
			ИЛИ Д.Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
			ИЛИ Д.Подразделение ЕСТЬ NULL )
Показать


Все бы хорошо, но один из элементов Таблицы удовлетворяет не одному, а сразу двум условиям (1 и 2) и в результате попадает в итоговую выборку дважды. Так вот, как сделать так, чтобы запись не дублировалась?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
8. user1089020 25.02.21 09:24 Сейчас в теме +0.11 $m
Спасибо за ответы, но ни один не подошел.

Что в итоге я сделал:
1. Вытащил таблицу с пустыми Подразделениями
2. Вытащил таблицу с заполненными Подразделениями
3. В таблице (2) выборкой оставил только те записи, поля которых НЕ дублируются таблице (1)
4. Объединил таблицу (1) и таблицу (3)

Работает!
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. ab_initio 95 24.02.21 20:34 Сейчас в теме
(1)
один из элементов Таблицы удовлетворяет не одному, а сразу двум условиям (1 и 2) и в результате попадает в итоговую выборку дважды

Не в этом причина. Причина в том, что для одного из элементов таблицы "С" всё совокупное условие выполнилось в отношении сразу двух элементов таблицы "Д".
Вы включите в выборку поле Д.Ссылка, тогда видно будет что лишнее попадает и как условие поменять.
6. Ul_developer 25.02.21 07:16 Сейчас в теме
(1)Сгруппируйте таблицы перед соединением по количеству, а если запрос для СКД то просто сделайте правильные группировки и дублей не будет.
2. user633533_encantado 11 24.02.21 18:20 Сейчас в теме
Сгруппируйте одинаковые записи.
3. biimmap 1864 24.02.21 18:25 Сейчас в теме
В ситуациях, когда в результате соединения двух таблиц появляются одинаковые записи, и нет возможности наложить дополнительные фильтрующие условия необходимо использовать конструкцию
ВЫБРАТЬ РАЗЛИЧНЫЕ.

Группировка используется не для этого, несмотря на то, что она способна решить описанную задачу. Однако от группировку получается лишний код, который сбивает с толку разработчика, читающего его.

Конструкции языка запросов надо использовать по назначению.
4. PerlAmutor 129 24.02.21 20:28 Сейчас в теме
7. Alexponenta 25.02.21 08:18 Сейчас в теме
Выбрать отбор по условию в котором не допускается дублирование записей. *Капитан Очевидность*

Группировка повторяющихся записей.

Изменения типа соединения в запросе (хотя 1С в этом плане вроде как ограничен более чем SQL)
8. user1089020 25.02.21 09:24 Сейчас в теме +0.11 $m
Спасибо за ответы, но ни один не подошел.

Что в итоге я сделал:
1. Вытащил таблицу с пустыми Подразделениями
2. Вытащил таблицу с заполненными Подразделениями
3. В таблице (2) выборкой оставил только те записи, поля которых НЕ дублируются таблице (1)
4. Объединил таблицу (1) и таблицу (3)

Работает!
Оставьте свое сообщение

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