|
Как создать кросс-таблицу в запросе? | ☑ | ||
---|---|---|---|---|
0
ChAlex
12.07.12
✎
10:53
|
Можно ли в запросе получить кросс-таблицу (ну или транспонировать таблицу). Кажется где-то в виде-курсе как-то попадалось на глаза элегантное решение создания кросс-таблицы путем соединения но вот никак не найду (когда не надо всегда под руками, а как понадобится - и где тот ящик..... :) .
|
|||
1
Defender aka LINN
12.07.12
✎
10:56
|
Нафига?
|
|||
2
shuhard
12.07.12
✎
10:57
|
(0) если число колонок фиксированное, то N левых соединения с подзапросами
|
|||
3
andrewks
12.07.12
✎
11:02
|
(0) а что ты понимаешь под кросс-таблицей?
|
|||
4
МихаилМ
12.07.12
✎
11:07
|
бесовщина
если матрица неразряжена то можно расценить эту операцию как упаковку.операцию отимизации трафика. но как правило следствие непонимания использования СУБД. те путают получение и представление данных. |
|||
5
ChAlex
12.07.12
✎
12:38
|
Мне нужно определить количество различных наборов параметров для некоторых объектов. Значения параметров хранятся в виде линейного списка: объект, параметр, значение. Соответственно мне нужно получить кросс-таблицу в строках которой объект, а в колонках значения параметров. Да сее можно получить обходом выборки, таблицей значений,ее сверткой и прочее. Но был какой-то хитрый финт в запросе, когда получалась крос-таблица . Возможно в видео и был вариант (2), но мне что-то кажется там использовалась агрегатная функция для получения эффекта (но могу ошибаться)
|
|||
6
ChAlex
12.07.12
✎
12:41
|
(4) - перевести на русский было бы не плохо, особенно "если матрица неразряжена то можно расценить эту операцию как упаковку.операцию отимизации трафика." Вот при чем здесь упаковка и кросс-таблица? ...
|
|||
7
ChAlex
12.07.12
✎
12:43
|
+(6) - про трафик вообще - каким боком он соотносится с кросс-таблицей... ну потому что он красный?
|
|||
8
YF
12.07.12
✎
12:43
|
Можно выбором типа
Выбор Когда параметр = 1 Тогда значение Иначе Null Конец КАК ПолеЗапроса1 |
|||
9
YF
12.07.12
✎
12:43
|
Естественно с группировкой по объекту
|
|||
10
ChAlex
12.07.12
✎
13:01
|
(8) - Как сформировать в несколько этапов - не вопрос, меня терзает тот момент - что вроде был интересный способ транспонировать, который демонстрировал Гилев, вот только не могу найти где это было и точно как (типа МАКСИМУМ(ССЫЛКА) - и получался результат, что-то аналогичное типа поучения нумерации строк таблицы запроса). Хотя может Дежавю и не было такого :)
|
|||
11
МихаилМ
12.07.12
✎
13:17
|
используйте скд.
специально для таких случаем придуман механизм. |
|||
12
ChAlex
12.07.12
✎
13:25
|
(11) - СКД - не пойдет, ибо нужна потом обработка, а сформировать в таблицу значений или дерево - не получится, поскольку отчет придется тогда делать как таблица, а в этом случае ограничение на использование
|
|||
13
МихаилМ
12.07.12
✎
13:29
|
(12)
используйте скд как механизм создания кросс-таблицы если нужна пост обработка подсуте ее на вход опять же скд. очень удобный механизм. |
|||
14
YF
12.07.12
✎
14:27
|
(10) какие насколько этапов? запрос сразу нужную таблицу выдаст
|
|||
15
ChAlex
12.07.12
✎
14:33
|
(13) - а вот это как подсунуть на вход, что бы получить постобработку? В результате мне нужно получить ну скажем просто количество РАЗЛИЧНЫХ комплектов или сами наборы РАЗЛИЧНЫХ комплектов параметров (для разных объектов комплекты могут повторяться). Нужна в итоге таблица. Что бы я не делал в СКД - если результат выгружается в таблицу - я не могу использовать механизм СКД, а результирующая таблица получается из отчета вида "Таблица" СКД. И как отсюда вывернуться?
(14) Изначально неизвестно количество колонок, поэтому неизвестно сколько их создавать. Поэтому сначала нужно получить количество колнок, а потом рисовать программно текст запроса, чтобы получить все значения. Разве не так? |
|||
16
МихаилМ
12.07.12
✎
14:34
|
(14)
запрос выдает выборку, а не таблицу. |
|||
17
mishgan75
12.07.12
✎
14:45
|
Если нужен только в виде отчета то в построителе задаешь ИзмерениеСтроки=Объект, ИзмерениеКолонки=Параметр
|
|||
18
ChAlex
12.07.12
✎
14:57
|
(16) Ну если выдаст выборку - то выборку всех значений (кстати при этом ничего вообще городить не нужно, поскольку можно в ыборка выбрать все значения (параметр метода Выбрать). Для того, чтобы получить РАЗЛИЧНЫЕ наборы - теперь это нужно загрузить в таблицу и таблицу свернуть по всем колонкам - тогда останутся только уникальные наборы параметров. Тоже самое хотелось сделать запросом.
(17) - если б нужен был вывод в отчет - вопросов бы не было (ДА СКД ЭТО ДЕЛАЕТ). Мне нужна как промежуточный результат в обработке |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |