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
.
туплю, не могу сообразить..
???
спсб.
|
|
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
|
|