Форум: "Базы";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];
ВнизКак сделать группировку ечувствительной к регистру? Найти похожие ветки
← →
Flatch (2003-07-29 07:59) [0]Есть таблица с полем F1, значения которого "abc" и "aBC". Я хочу сделать группировку по этому полю, но чтобы она не была чувствительна к регистру значений.
Т.е. если я пишу
SELECT F1 FROM T1 GROUP BY F1
То я получаю "abc" и "aBC", а хочу получить только "abc".
Как составить такой запрос или может какие настройки поковырять?
← →
Zacho (2003-07-29 08:28) [1]Не совсем понятно, что именно тебе нужно. Запрос, который ты привел, смысла вообще не имеет, GROUP BY нужно только вместе с агрегатными функциями. И какая все-таки СУБД точно ?
А самое общее решение - добавить в таблицу дополнительное поле, в котором хранить значения поля F1, приведенные к нижнему (или верхнему) регистру, и группировать по этому полю.
← →
Flatch (2003-07-29 08:38) [2]Ок, уточняю запрос:
SELECT F1,COUNT(F1) FROM T1 GROUP BY F1
Добавлять колонку мне не подходит совсем (у меня там есть еще куча колонок, по которым тоже нужно будет делать группировки).
А СУДБ - это Interbase6, но и в ФоксПро та же беда.
← →
Zacho (2003-07-29 08:45) [3]
> Flatch (29.07.03 08:38)
В Yaffil (а возможно и в FB, точно не помню) можно было бы сделать так:
SELECT UPPER(F1),COUNT(F1) FROM T1 GROUP BY UPPER(F1)
или так:
SELECT UPPER(F1),COUNT(F1) FROM T1 GROUP BY 1
В IB6, imho, - только дополнительным (возможно COMPUTED BY) полем.
А не стоит ли подумать о переходе с древнего и глючного IB6 на какой-либо клон (FB, Yaffil) ? Кроме группировки у них еще масса преимуществ перед IB6
← →
Savelan (2003-07-30 05:13) [4]В чем проблема? Сделай так!
SELECT UPPER(F1),COUNT(UPPER(F1)) FROM T1 GROUP BY UPPER(F1)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c