Задать вопрос

Как правильно сделать запрос и получить количество повторяющихся элементов в таблице (временная)?

у меня есть обработка с табличной частью документа. Табличная часть включает в себя два реквизита
- НомерСтроки
- СтрокаТабЧасти

СтрокаТабЧасти заполняется символами рандомно.
Мне нужно вывести все повторяющиеся элементы в таблице с помощью запроса:

Моя попытка:
МенВрТаб = Новый МенеджерВременныхТаблиц;   		
Макет = Обработки.ПроизвольнаяОбработка.ПолучитьМакет("Макет");	
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенВрТаб;
Запрос.Текст = 
		"ВЫБРАТЬ 
		|  НомерСтроки,
		|  СтрокаТабЧасти
		|ПОМЕСТИТЬ
		|  ВременнаяТаблица 
		|ИЗ 
		|  &ТабличнаяЧасть КАК ТабличнаяЧасть;
		|ВЫБРАТЬ 
		|  СтрокаТабЧасти,
		|  КОЛИЧЕСТВО(НомерСтроки)
		|ИЗ 
		|  ВременнаяТаблица КАК ВременнаяТаблица
		|СГРУППИРОВАТЬ ПО
		|  СтрокаТабЧасти
		|ИМЕЮЩИЕ 
		|  КОЛИЧЕСТВО(НомерСтроки)>1"; 
Запрос.УстановитьПараметр("ТабличнаяЧасть",Объект.ТабЧасть.Выгрузить());	
РезультатЗапроса = Запрос.Выполнить();


Результат:
e9ca17ef9213463c9dfc0be425590893.jpg

Скачать EPF: Обработка
  • Вопрос задан
  • 475 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
Обработку не качал, но достаточно посмотреть на запрос:

1) Вам удалось с помощью конструктора создать такой запрос только потому, что конструктор не знал типов реквизитор входящей таблицы. Если бы это был какой-то справочник из конфигурации, то вам бы сразу был бы дан ответ, что в выражении "Различные" нельзя использовать строки неограниченной длинны.

2) Экзаменаторы знаний по SQL хотели у вас проверить владение не инструкции DISTINCT, а HAVING.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Если строкатаб неограниченной длины можно попробовать выразить(... Кака строка(100))
И должно сработать. Вроде...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы