|
работа с типом значения в запросе | ☑ | ||
---|---|---|---|---|
0
Genius
14.04.15
✎
16:46
|
Доброго всем времени суток!
Подскажите если кто знает, как реализовать следующую ситуацию.. Нужно в одной таблице вывести 3 поля - тип объекта, количество объектов и количество версий объектов данного типа. Источник данных - регистр версионирования. ВЫБРАТЬ ТИПЗНАЧЕНИЯ(ВерсииОбъектов.Объект) КАК ВидОбъекта, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВерсииОбъектов.Объект) КАК КоличествоОбъектов ИЗ РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов СГРУППИРОВАТЬ ПО ТИПЗНАЧЕНИЯ(ВерсииОбъектов.Объект) Подобным запросом можно получить две разные таблицы - одну с количеством объектов, другая с количеством версий. Идеальным вариантом было бы их соединить по виду объекта, на крайний случай - объединить по нему же. Но получившийся ВидОбъекта (результат функции ТИПЗНАЧЕНИЯ()) - такая зараза, которая не поддаётся какому-либо сравнению. Фунцция "Выразить" тоже не работает. В итоге имею две таблицы, которые просто нужно соединить, а как - хз. Уже голову сломал.. |
|||
1
Defender aka LINN
14.04.15
✎
16:50
|
Только что соединил 2 таблицы по полю "ТипЗначения(...)". Что я сделал не так?
|
|||
2
Genius
14.04.15
✎
17:10
|
по типу значения = да, я не указал, то что у меня результаты обоих запросов выгружаются во временную таблицу, и вот эти временные таблицы уже не соединяются. Делаю через ВТ из-за большого объёма, подругому сервер может не потянуть
|
|||
3
pessok
14.04.15
✎
17:13
|
(2) т.е. ПО Т1.ВидОбъекта = Т2.ВидОбъекта не взлетает?
|
|||
4
Genius
14.04.15
✎
17:14
|
да, так не взлетает..
|
|||
5
Defender aka LINN
14.04.15
✎
17:14
|
(2) Доктор, а я как сделал?
|
|||
6
ДенисЧ
14.04.15
✎
17:15
|
(5) ЭЭэ нет..
Ты сначала получи ТЗ, потом помести её в ВТ, а потом уже объединяй... ) |
|||
7
pessok
14.04.15
✎
17:16
|
(5) я так понимаю, что в (0) разные временные таблицы
|
|||
8
pessok
14.04.15
✎
17:16
|
(6) это тогда проще сделать в ТЗ строковую колонку с типом значения и соединять по ней ;)
|
|||
9
Genius
14.04.15
✎
17:19
|
Вот так работает. Остается только сгруппировать результат:
ВЫБРАТЬ ТИПЗНАЧЕНИЯ(ВерсииОбъектов.Объект) КАК ВидДокумента, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВерсииОбъектов.НомерВерсии) КАК Количество_1, СУММА(1) КАК Количество ПОМЕСТИТЬ ДанныеПоВерсиям ИЗ РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов СГРУППИРОВАТЬ ПО ТИПЗНАЧЕНИЯ(ВерсииОбъектов.Объект) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(ТЧ.ВидДокумента) КАК ВидДокумента, ТЧ.Количество КАК КоличествоВерсий ПОМЕСТИТЬ Версии ИЗ ДанныеПоВерсиям КАК ТЧ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТИПЗНАЧЕНИЯ(ВерсииОбъектов.Объект) КАК ВидДокумента, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВерсииОбъектов.Объект) КАК Количество ПОМЕСТИТЬ ДанныеПоДокуметам ИЗ РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов СГРУППИРОВАТЬ ПО ТИПЗНАЧЕНИЯ(ВерсииОбъектов.Объект) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПРЕДСТАВЛЕНИЕ(ТЧ.ВидДокумента) КАК ВидДокумента, ТЧ.Количество КАК КоличествоДокументов ПОМЕСТИТЬ Документы ИЗ ДанныеПоДокуметам КАК ТЧ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Док.ВидДокумента, Док.КоличествоДокументов КАК КоличествоДокументов, NULL КАК КоличествоВерсий //ПОМЕСТИТЬ ВремТаб ИЗ Документы КАК Док ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Док.ВидДокумента, NULL, Док.КоличествоВерсий ИЗ Версии КАК Док ; //////////////////////////////////////////////////////////////////////////////// //ВЫБРАТЬ // Таб.ВидДокумента КАК ВидДокумента, // СУММА(Таб.КоличествоДокументов) КАК КоличествоДокументов, // СУММА(Таб.КоличествоВерсий) КАК КоличествоВерсий //ИЗ // ВремТаб КАК Таб //СГРУППИРОВАТЬ ПО // Таб.ВидДокумента Если убрать последние комменты - получится последняя ВТ с группировкой, которая не работает. Может я че не то делаю, но найти ошибку не могу.. |
|||
10
Defender aka LINN
14.04.15
✎
17:19
|
Забавно. Работать работает, но в конструкторе уже не открывает :)
(7) Да пожалуйста:
(6) Ну и фантазия у тебя... |
|||
11
Genius
14.04.15
✎
17:20
|
Представление я уже к ходе экспериментов добавил. По сути оно ничего не поменяло
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |