Имя: Пароль:
1C
1C 7.7
v7: Туплю над запросом... выборка только тех элементов значения которых уникальны..
0 Злопчинский
 
09.11.11
00:23
есть справочник, реквизиты:
Товар, ПунктКуда, ПунктОт куда
.
требуется запросом (пока что чорным)
вытащить те элементы из справочника, где ПунктКуда впределах справочника упоминается 1 раз..
.
например:
Товар1, Куда1,Откуда5
Товар1, Куда1,Откуда6
Товар2, Куда2,Откуда7
Товар3, Куда3,Откуда1
.
в результат должны попасть только
Товар2, Куда2,Откуда7
Товар3, Куда3,Откуда1
.
туплю, не могу сообразить..
???
спсб.
1 Злопчинский
 
11.11.11
02:05
ап!
2 Aleksey
 
11.11.11
02:10
Прямым можно через вложенный запрос, т.е. сначало поиск уникальных записей, а потом уже запрос где пункт в нашем списке
3 Злопчинский
 
11.11.11
02:13
(2).. ну и..?
4 viktor_vv
 
11.11.11
02:14
В самом запросе как отфильтровать не знаю, но
|Группировка ПунктКуда  
|Функция КолОдинаковых = Счётчик() ;

ПРи обходе сможешь отсечь тех которые Запрос.КолОдинаковых > 1.
5 Злопчинский
 
11.11.11
02:27
(4) так сейчас и сделано.. но это же не наш путь...
пытался вставить в условие ссылку н а функцию счетчика чтобы сразу в запросе отсеять - не получилось...
6 viktor_vv
 
11.11.11
02:47
Если прямым, то как-то так

   ТекстЗапроса = "
   |Select
   |    СпрТвой.ID as [Элемент $Справочник.ТвойЭлемент],
   |    $СпрТвой.Товар as [Товар as $Справочник.Товары],
       |       $СпрТвой.ПунктКуда as [ПунктКуда as $Справочник.Пункты]
   |From
   |    $Справочник.ТвойСправочник as СпрТвой (nolock)
   |    Inner join (Select
   |                    $СпрТвой2.ПунктКуда as ПунктКуда,
   |                    Count($СпрТвой2.ID) as Кол
   |                From
   |                    $Справочник.ТвойСправочник as СпрТвой2 (nolock)
   |                Group by $СпрТвой2.ПунктКуда
   |                Having Count(СпрТвой2.ID) = 1
   |                ) as Уникальные on Уникальные.ПунктКуда = $СпрТвой.ПунктКуда
   |
   |";

   ТЗ = глЗапросСКЛ.ВыполнитьИнструкцию(ТекстЗапроса);
   
   ТЗ.ВыбратьСтроку() ;
   
Вот здесь подставляешь свое условие по количеству : Having Count(СпрТвой2.ID) = 2
7 Злопчинский
 
11.11.11
03:04
спсб.. буду втыкать...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn