Удалить дубли в запросе

1. Pavean 03.12.22 20:52 Сейчас в теме
Есть таблица с таким содержанием:
Строка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.Колонка)
Показать

Собственно из таблицы "Данные" и надо удалить дубли.
Реальная таблица конечно побольше и посложнее...
По теме из базы знаний
Найденные решения
5. RustamZz 03.12.22 21:24 Сейчас в теме
(1)
ВЫБРАТЬ
	Тз.Поле1,
	Тз.Поле2
ИЗ
	Тз КАК Тз
ГДЕ
	НЕ (Тз.Поле2, Тз.Поле1) В
				(ВЫБРАТЬ
					Тз.Поле1,
					Тз.Поле2
				ИЗ
					Тз КАК Тз
				ГДЕ
					Тз.Поле1 < Тз.Поле2)
Показать
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
5. RustamZz 03.12.22 21:24 Сейчас в теме
(1)
ВЫБРАТЬ
	Тз.Поле1,
	Тз.Поле2
ИЗ
	Тз КАК Тз
ГДЕ
	НЕ (Тз.Поле2, Тз.Поле1) В
				(ВЫБРАТЬ
					Тз.Поле1,
					Тз.Поле2
				ИЗ
					Тз КАК Тз
				ГДЕ
					Тз.Поле1 < Тз.Поле2)
Показать
7. Pavean 03.12.22 21:49 Сейчас в теме
(5)Не работает. Пустой результат.

ВЫБРАТЬ
	"Строка1" КАК Колонка
ПОМЕСТИТЬ ВТ

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	"Строка2"

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	"Строка3"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Т1.Колонка КАК Колонка1,
	Т2.Колонка КАК Колонка2
ПОМЕСТИТЬ Данные
ИЗ
	ВТ КАК Т1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК Т2
		ПО (НЕ Т1.Колонка = Т2.Колонка)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Данные.Колонка1 КАК Колонка1,
	Данные.Колонка2 КАК Колонка2
ИЗ
	Данные КАК Данные
ГДЕ
	НЕ (Данные.Колонка1, Данные.Колонка2) В
				(ВЫБРАТЬ
					Данные.Колонка2,
					Данные.Колонка1
				ИЗ
					Данные КАК Данные)
Показать
8. RustamZz 03.12.22 21:52 Сейчас в теме
(7)
ГДЕ Тз.Поле1 < Тз.Поле2
у вас пропущено
9. Pavean 03.12.22 22:00 Сейчас в теме
(8)Вот спасибо! Работает.
Надо только понять как и только ли со строковыми данными.
10. RustamZz 03.12.22 22:03 Сейчас в теме
(9) null и неограниченные строки не работают
2. Gendelf 03.12.22 21:16 Сейчас в теме
За закладке Дополнительно попробуйте галку поставить - если запрос был
Если уже ТЗ, то Свернуть()
4. Pavean 03.12.22 21:24 Сейчас в теме
(2)Смысл в сворачивании и различных? Строки с точки зрения SQL разные. Она не будет их обрабатывать как дубли.
Надо запрос как то так написать чтобы самому их отсеить.
3. user1863362 03.12.22 21:24 Сейчас в теме
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ТаблицаДанных.Поле1 КАК Поле1,
    ТаблицаДанных.Поле2 КАК Поле2
ИЗ
    Таблица КАК ТаблицаДанных
ЛЕВОЕ СОЕДИНЕНИЕ 
    Таблица КАК ТаблицаДублей
ПО
    ТаблицаДублей.Поле1 = ТаблицаДанных.Поле2 
    И ТаблицаДублей.Поле2 = ТаблицаДанных.Поле1 
ГДЕ
    ТаблицаДанных.Поле1 ЕСТЬ NULL
Показать
6. Pavean 03.12.22 21:39 Сейчас в теме
(3)Не работает. Что в общем-то логично. В вашем варианте условие ГДЕ никогда не выполнится.
Для лучшего понимания, из временной таблицы "Данные" надо удалить дубли:

ВЫБРАТЬ
	"Строка1" КАК Колонка
ПОМЕСТИТЬ ВТ

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	"Строка2"

ОБЪЕДИНИТЬ

ВЫБРАТЬ
	"Строка3"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Т1.Колонка КАК Колонка1,
	Т2.Колонка КАК Колонка2
ПОМЕСТИТЬ Данные
ИЗ
	ВТ КАК Т1
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ КАК Т2
		ПО (НЕ Т1.Колонка = Т2.Колонка)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Данные.Колонка1 КАК Колонка1,
	Данные.Колонка2 КАК Колонка2
ИЗ
	Данные КАК Данные
		ЛЕВОЕ СОЕДИНЕНИЕ Данные КАК Дубли
		ПО Данные.Колонка1 = Дубли.Колонка2
			И Данные.Колонка2 = Дубли.Колонка1
ГДЕ
	Дубли.Колонка1 ЕСТЬ NULL
Показать
Оставьте свое сообщение
Вакансии
Технический архитектор
Москва
зарплата от 300 000 руб. до 380 000 руб.
Полный день

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

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

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

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день