Есть таблица с таким содержанием:
Строка1 Строка2
Строка1 Строка3
Строка2 Строка1
Строка2 Строка3
Строка3 Строка1
Строка3 Строка2
Для меня строки с колонками где "Строка1 Строка2" равны тем где "Строка2 Строка1", т.е. являются дублями.
Как удалить дубли?
Запрос формирующий таблицу, чтобы легче было варианты предлагать:
Собственно из таблицы "Данные" и надо удалить дубли.
Реальная таблица конечно побольше и посложнее...
Строка1 Строка2
Строка1 Строка3
Строка2 Строка1
Строка2 Строка3
Строка3 Строка1
Строка3 Строка2
Для меня строки с колонками где "Строка1 Строка2" равны тем где "Строка2 Строка1", т.е. являются дублями.
Как удалить дубли?
Запрос формирующий таблицу, чтобы легче было варианты предлагать:
ВЫБРАТЬ
"Строка1" КАК Колонка
ПОМЕСТИТЬ ВТ
ОБЪЕДИНИТЬ
ВЫБРАТЬ
"Строка2"
ОБЪЕДИНИТЬ
ВЫБРАТЬ
"Строка3"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Т1.Колонка КАК Колонка1,
Т2.Колонка КАК Колонка2
ПОМЕСТИТЬ Данные
ИЗ
ВТ КАК Т1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК Т2
ПО (НЕ Т1.Колонка = Т2.Колонка)
ПоказатьСобственно из таблицы "Данные" и надо удалить дубли.
Реальная таблица конечно побольше и посложнее...
По теме из базы знаний
- Быстрый поиск дублей в 1С с четким/нечетким поиском по любому сочетанию реквизитов/реквизитов таб. частей с отбором и быстрой заменой значений в ЛЮБЫХ базах 8.1-8.3 (УТ 10.3, БП 2, ЗУП 2.5, КА 1.1, УТ 11, БП 3, УНФ 1.6/3.0, КА 2, ЗУП 3 и т.д.)
- Как удалить из выборки дубли по двум полям.
- Удаление дублей запросом
- Сокращение размера регистра "Версии объектов" в УПП 1.3.
- Работа со схемой запроса
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5)Не работает. Пустой результат.
ВЫБРАТЬ
"Строка1" КАК Колонка
ПОМЕСТИТЬ ВТ
ОБЪЕДИНИТЬ
ВЫБРАТЬ
"Строка2"
ОБЪЕДИНИТЬ
ВЫБРАТЬ
"Строка3"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Т1.Колонка КАК Колонка1,
Т2.Колонка КАК Колонка2
ПОМЕСТИТЬ Данные
ИЗ
ВТ КАК Т1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК Т2
ПО (НЕ Т1.Колонка = Т2.Колонка)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Данные.Колонка1 КАК Колонка1,
Данные.Колонка2 КАК Колонка2
ИЗ
Данные КАК Данные
ГДЕ
НЕ (Данные.Колонка1, Данные.Колонка2) В
(ВЫБРАТЬ
Данные.Колонка2,
Данные.Колонка1
ИЗ
Данные КАК Данные)
ПоказатьВЫБРАТЬ РАЗЛИЧНЫЕ
ТаблицаДанных.Поле1 КАК Поле1,
ТаблицаДанных.Поле2 КАК Поле2
ИЗ
Таблица КАК ТаблицаДанных
ЛЕВОЕ СОЕДИНЕНИЕ
Таблица КАК ТаблицаДублей
ПО
ТаблицаДублей.Поле1 = ТаблицаДанных.Поле2
И ТаблицаДублей.Поле2 = ТаблицаДанных.Поле1
ГДЕ
ТаблицаДанных.Поле1 ЕСТЬ NULL
Показать
(3)Не работает. Что в общем-то логично. В вашем варианте условие ГДЕ никогда не выполнится.
Для лучшего понимания, из временной таблицы "Данные" надо удалить дубли:
Для лучшего понимания, из временной таблицы "Данные" надо удалить дубли:
ВЫБРАТЬ
"Строка1" КАК Колонка
ПОМЕСТИТЬ ВТ
ОБЪЕДИНИТЬ
ВЫБРАТЬ
"Строка2"
ОБЪЕДИНИТЬ
ВЫБРАТЬ
"Строка3"
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Т1.Колонка КАК Колонка1,
Т2.Колонка КАК Колонка2
ПОМЕСТИТЬ Данные
ИЗ
ВТ КАК Т1
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК Т2
ПО (НЕ Т1.Колонка = Т2.Колонка)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Данные.Колонка1 КАК Колонка1,
Данные.Колонка2 КАК Колонка2
ИЗ
Данные КАК Данные
ЛЕВОЕ СОЕДИНЕНИЕ Данные КАК Дубли
ПО Данные.Колонка1 = Дубли.Колонка2
И Данные.Колонка2 = Дубли.Колонка1
ГДЕ
Дубли.Колонка1 ЕСТЬ NULL
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот