|
Как в запросе проверить совпадение табличных частей? | ☑ | ||
---|---|---|---|---|
0
RomaH
naïve
18.04.12
✎
14:14
|
Справочник с табличной частью
надо проверить при записи нет ли элеменов с такой же ТЧ (с таким же составом строк) как такое сделать в запросе? |
|||
1
Shurjk
18.04.12
✎
14:16
|
Соединяй и ищи налл, где его не найдешь там значит и есть такая же т.ч.
|
|||
2
RomaH
naïve
18.04.12
✎
14:26
|
... вот с соединеним и не врубаюсь
|
|||
3
RomaH
naïve
18.04.12
✎
14:27
|
ВЫБРАТЬ
ПроизводственныеФакторы.Ссылка, ПроизводственныеФакторы.ВредныйПроизводственныйФактор ПОМЕСТИТЬ втТекущийНабор ИЗ Справочник.НаборыВредныхПроизводственныхФакторов.ВредныеПроизводственныеФакторы КАК ПроизводственныеФакторы ГДЕ ПроизводственныеФакторы.Ссылка = &Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ втТекущийНабор.Ссылка, ПроизводственныеФакторы.Ссылка КАК Ссылка1, ВЫБОР КОГДА ПроизводственныеФакторы.ВредныйПроизводственныйФактор ЕСТЬ NULL ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК ВредныйПроизводственныйФактор1 ИЗ втТекущийНабор КАК втТекущийНабор ПОЛНОЕ СОЕДИНЕНИЕ Справочник.НаборыВредныхПроизводственныхФакторов.ВредныеПроизводственныеФакторы КАК ПроизводственныеФакторы ПО втТекущийНабор.Ссылка <> ПроизводственныеФакторы.Ссылка И втТекущийНабор.ВредныйПроизводственныйФактор = ПроизводственныеФакторы.ВредныйПроизводственныйФактор фигня получается |
|||
4
vmv
18.04.12
✎
14:29
|
а если состав строк ТЧ тот же, но порядок различный - взлетит?
|
|||
5
vmv
18.04.12
✎
14:31
|
видимо если учитываеть порядок, то ножно использоват соединение двух сортированных ВТ - так для затравки, мож найдется гений который счас решит задачу в лет, я очень надеюсь
|
|||
6
butterbean
18.04.12
✎
14:34
|
хз как одним запросом, я бы в цикле сделал
|
|||
7
RomaH
naïve
18.04.12
✎
14:35
|
(4) в смысле - куа взлитит
порядок пофиг ВЫБРАТЬ ПроизводственныеФакторы.Ссылка, ПроизводственныеФакторы.ВредныйПроизводственныйФактор ПОМЕСТИТЬ втТекущийНабор ИЗ Справочник.НаборыВредныхПроизводственныхФакторов.ВредныеПроизводственныеФакторы КАК ПроизводственныеФакторы ГДЕ ПроизводственныеФакторы.Ссылка = &Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПроизводственныеФакторы.Ссылка КАК Ссылка, ПроизводственныеФакторы.ВредныйПроизводственныйФактор, ВЫБОР КОГДА втТекущийНабор.ВредныйПроизводственныйФактор ЕСТЬ NULL ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК втТекущийНаборВредныйПроизводственныйФактор ИЗ Справочник.НаборыВредныхПроизводственныхФакторов.ВредныеПроизводственныеФакторы КАК ПроизводственныеФакторы ПОЛНОЕ СОЕДИНЕНИЕ втТекущийНабор КАК втТекущийНабор ПО (втТекущийНабор.Ссылка <> ПроизводственныеФакторы.Ссылка) И (втТекущийНабор.ВредныйПроизводственныйФактор = ПроизводственныеФакторы.ВредныйПроизводственныйФактор) ИТОГИ СУММА(втТекущийНаборВредныйПроизводственныйФактор) ПО Ссылка так что-то похожее, но не то - если есть элемент с меньшим количеством совпадающих строк - тоже попадает |
|||
8
gavrikprog
18.04.12
✎
14:41
|
есть типовая процедура - поможет. Инфа есть
|
|||
9
gavrikprog
18.04.12
✎
14:41
|
сравнивает ТЗ
|
|||
10
RomaH
naïve
18.04.12
✎
14:43
|
(8) так это в цикле перебрать все элементы справочника надо будет
я именно про запрос спрашиваю |
|||
11
Hmster
18.04.12
✎
14:44
|
на сколько помню там 3 запроса надо сделать. 1 с полным соединением другие с левым
|
|||
12
Shurjk
18.04.12
✎
14:44
|
(4) Чего бы не взлететь?
|
|||
13
Hmster
18.04.12
✎
14:46
|
(11) точнее с внутренним
|
|||
14
Shurjk
18.04.12
✎
14:48
|
Выбираем соединением все строки где результат соединения не будет NUUL, групируем все по документу, и количеству строк, где количество будет равно текущему количеству там значит полное совпадение.
|
|||
15
gavrikprog
18.04.12
✎
14:51
|
ТЧ1
ТЧ2 Объединение ТЧ Объединение ТЧ Сгруппировать суммирование по ссылке(сначала выбираем 2 ссылки, чтоб одну потом суммировать) Если есть различие, то на 4 пункте где-то равно 2. То анализируем Как то так - идея от фонаря |
|||
16
Mickeleangelo
18.04.12
✎
14:51
|
ВЫБРАТЬ
ПроизводственныеФакторы.Ссылка, ПроизводственныеФакторы.ВредныйПроизводственныйФактор, 1 КАК ДляСуммирования ПОМЕСТИТЬ втТекущийНабор ИЗ Справочник.НаборыВредныхПроизводственныхФакторов.ВредныеПроизводственныеФакторы КАК ПроизводственныеФакторы ГДЕ ПроизводственныеФакторы.Ссылка = &Ссылка ; ВЫБРАТЬ ПроизводственныеФакторы.Ссылка КАК ТакиеЖеНаборы ИЗ Справочник.НаборыВредныхПроизводственныхФакторов.ВредныеПроизводственныеФакторы КАК ПроизводственныеФакторы ЛЕВОЕ СОЕДИЕНИЕ втТекущийНабор ПО (втТекущийНабор.Ссылка <> ПроизводственныеФакторы.Ссылка) И (втТекущийНабор.ВредныйПроизводственныйФактор = ПроизводственныеФакторы.ВредныйПроизводственныйФактор) СГРУППИРОВАТЬ ПО ПроизводственныеФакторы.Ссылка ИМЕЮЩИЕ СУММА(-1 + ЕСТЬNULL(втТекущийНабор.ДляСуммирования, 0)) = 0 |
|||
17
gavrikprog
18.04.12
✎
14:52
|
(15)
ТЧ1 - результат запроса - ТЧ 2 анализирукмая |
|||
18
gavrikprog
18.04.12
✎
14:52
|
(17)
сливаюсь, врод не то чето написал =) |
|||
19
gavrikprog
18.04.12
✎
14:53
|
(18) не тот случай просто , частный
|
|||
20
МихаилМ
18.04.12
✎
14:53
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |