Слишком много предложений Group By
-
- Участник
- Сообщения: 71
- Зарегистрирован: 10 ноя 2009, 01:56
- Репутация: 0
- Откуда: Казань
Слишком много предложений Group By
При использовании в предложении Group By оператора Select более 5 полей выдает ошибку "Слишком много предложений Group By", а выборку нужно сгруппировать по 7 полям. Кто-нибудь сталкивался с этим? Как можно выйти из этой ситуации?
-
- Гуру
- Сообщения: 4205
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: 433
- Откуда: Париж
Re: Слишком много предложений Group By
А зачем вообще делать такую крайне специфичную вещь в MI? Если это такая насыщенная атрибутивная таблица, то стоит ее сперва обсчитать в какой-нибудь СУБД или табличном редакторе.
7 уровней группировки дадут таблицу практически равную исходной.
7 уровней группировки дадут таблицу практически равную исходной.
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Слишком много предложений Group By
Можно просто пару раз сделать запрос с группировкой. Первый раз на 4-5 полей, и сохранить копию выборки как нормальную таблицу, потом с нее еще раз запрос с группировкой по оставшимся полям сделать. И усе.
-
- Участник
- Сообщения: 71
- Зарегистрирован: 10 ноя 2009, 01:56
- Репутация: 0
- Откуда: Казань
Re: Слишком много предложений Group By
но при первой группировке, данные по тем столбцам, по которым предполагается сделать группировку во второй заход, теряются
-
- Гуру
- Сообщения: 4205
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: 433
- Откуда: Париж
Re: Слишком много предложений Group By
Сохраните исходную таблицу в виде таблица в формате MS Access.
Зайдите в Access и создайте запрос на создание новой таблицы с требуемыми вами уровнями группировки.
Откройте эту новую таблицу в MapInfo - создастся таблица, связанная с таблицей MS Access.
Вынесите на рабочий стол (или куда еще) ярлык этого запроса. Теперь при клике на нем будет производится перерасчет с созданием новой таблицы.
Неудобства этого метода:
- получится фиксированная таблица
- ее надо будет пересчитывать
- ее надо закрывать в MI иначе будет выдаваться ошибка блокировки таблицы при попытке ее оновления
- при клике на ярлыке будет запускаться Access
- будет выводиться куча ненужных сообщений (но их можно отключить в настройках Access)
Достоинства:
- получится полноценный SQL запрос
- его легко изменить
- анализировать агрегированные данные в Access удобней
Зайдите в Access и создайте запрос на создание новой таблицы с требуемыми вами уровнями группировки.
Откройте эту новую таблицу в MapInfo - создастся таблица, связанная с таблицей MS Access.
Вынесите на рабочий стол (или куда еще) ярлык этого запроса. Теперь при клике на нем будет производится перерасчет с созданием новой таблицы.
Неудобства этого метода:
- получится фиксированная таблица
- ее надо будет пересчитывать
- ее надо закрывать в MI иначе будет выдаваться ошибка блокировки таблицы при попытке ее оновления
- при клике на ярлыке будет запускаться Access
- будет выводиться куча ненужных сообщений (но их можно отключить в настройках Access)
Достоинства:
- получится полноценный SQL запрос
- его легко изменить
- анализировать агрегированные данные в Access удобней
-
- Завсегдатай
- Сообщения: 257
- Зарегистрирован: 10 июн 2009, 12:21
- Репутация: 0
- Откуда: Екатеринбург
- Контактная информация:
Re: Слишком много предложений Group By
Анализировать в Access удобнее. А на один раз провести группировку - проще в мапинфе, не связываясь с настройками еще одной замечательной программы. Пересчитать ее, правда, уже нельзя. Разве что сохранить все операции в макрос в окне MapBasic, и при необходимости повторить снова, с другими данными.
И кстати, данные полей пропадать не должны. Если в запросе указаны все нужные поля, они в результате и останутся. Вот только такой задачи представить не могу, требующей аж по 7ми полям группировку. Смысла в такой таблице от остальных полей?
И кстати, данные полей пропадать не должны. Если в запросе указаны все нужные поля, они в результате и останутся. Вот только такой задачи представить не могу, требующей аж по 7ми полям группировку. Смысла в такой таблице от остальных полей?
-
- Активный участник
- Сообщения: 134
- Зарегистрирован: 01 окт 2009, 08:52
- Репутация: 3
- Откуда: Москва
Re: Слишком много предложений Group By
Такое ограничение может быть связано с тем, что суммарная длина полей группировки превышает 254 символа. Попробуйте максимально сократить длину полей в таблице.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей