powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Группировка по части значения
4 сообщений из 4, страница 1 из 1
Группировка по части значения
    #32108768
Рыб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для Access`а можно написать так:
select text from table where (...) group by left(text, 2)
получим группировку по первым двум символам поля text ... как такой можно организовать в IB 6.0, 6.5? Без ХП и видов, в одном запросе.

пробовал
select text from table where(...) group by cast(text as char(2)),
говорит, что cast - token unknown

пробовал так
select cast(text as char(2)) from table where (...)
синтаксис проходит, но вылетает по ошибке, что значение длиннее чем указанный тип ...
...
Рейтинг: 0 / 0
Группировка по части значения
    #32108829
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UDF ?

Или можно проще ?
...
Рейтинг: 0 / 0
Группировка по части значения
    #32108863
Рыб
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо из проги одним запросом получить группировку по части значения текстового поля ... в этом запросе будет ещё куча других таблиц, условий и групп ... но всё должно быть в одном запросе и без ХП и без View, т.е. есть:
TADOQuery->SQL->Add(sqlText);
TADOQuery->Active=true;
далее разборка полученных данных ...
...
Рейтинг: 0 / 0
Группировка по части значения
    #32109712
Фотография Bol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В соответствии с ANSI SQL92 в GROUP BY возможно использовать только имена существующих столбцов. IB придерживается этих правил.
Другие производители, возможно, допускают другой синтаксис. Однако это является специфическим для производителя, и соответственно непереносимым решением.
В IB подобную группировку можно реализовать следующими способами:

Добавить к таблице вычисляемое поле, и производить группировку по нему.

Создавать вычисляемое поле с помощью триггера и производить группировку по нему.

Создать селективную процедуру, которая будет возвращать столбцы таблицы и столбец, по которому необх. делать группировку.

Каждый из перечисленных способов имеет преимущества и недостатки. Вам остается выбрать наиболее подходящий.

Усечение символов - либо UDF, либо из приложения автоматом заполнять поле, по которому необх. делать группировку. Я считаю, что лучше обойтись без UDF, так как открыт вопрос об достаточной устойчивости работы функций в IB. Т.е. ф-ю необх. тестировать!!!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Группировка по части значения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]