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

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 1827 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)

Работает!
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)