Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.18;
Скачать: CL | DM;

Вниз

Возможно ли сгруппировать записи без ограничивающих пробелов?   Найти похожие ветки 

 
DimonS   (2008-12-03 10:42) [0]

Добрый верер всем.
Есть такой запрос:

select Name
From Gas
group by Name


Работает нормально. Но есть одно НО.
Если в поле Name внесено две одинаковый на первый взгляд записи, которые отличаются лишь тем, что у одной из них в конце стоит пробел (от юзеров всего можно ожидать), то запрос вернет их как две разные.

Есть ли какой-то способ группировки, чтобы пробелы игнорировались? Т.е., например, "Хитачи" и "Хитачи " в выборке были одной строкой "Хитачи".

Да, база Access.


 
Сергей М. ©   (2008-12-03 10:49) [1]

select Trim(Name)
From Gas
group by Trim(Name)


 
clickmaker ©   (2008-12-03 11:06) [2]

> Т.е., например, "Хитачи" и "Хитачи "

справочник сделайте
ID Name
1  Хитачи
2  Панасоник
...

а в основную таблицу пишите ID, а не имя. Тогда и не будет "от юзеров всего можно ожидать"


 
Сергей М. ©   (2008-12-03 11:11) [3]


> справочник сделайте


Гораздо интересней сначала понасоздавать кучу проблем, а потом их героически преодолевать)


 
Sergey13 ©   (2008-12-03 11:17) [4]

> [0] DimonS   (03.12.08 10:42)
> Есть ли какой-то способ группировки, чтобы пробелы игнорировались

А потом ты будешь сравнивать латинские буквы и русские. А потом "Хитачи" и "Классную тачку и с лампочками".


 
Правильный$Вася   (2008-12-03 11:53) [5]


> Если в поле Name внесено две одинаковый на первый взгляд
> записи, которые отличаются лишь тем, что у одной из них
> в конце стоит пробел (от юзеров всего можно ожидать)

перед сохранением обрезать пробелы (в триггере, если таковые есть в акцессе, или на клиенте)
+ поставить ограничение уникальности


 
Правильный$Вася   (2008-12-03 11:54) [6]

> + поставить ограничение уникальности
на справочник [2] естественно


 
DimonS   (2008-12-04 08:39) [7]


> Сергей М. ©   (03.12.08 10:49) [1]
> select Trim(Name)
> From Gas
> group by Trim(Name)


Попробовал сразу же. Почему-то группируются нормально с разными завершающими пробелами, но если есть слово с начинающимся пробелом - то в выборке оно стоит отдельно, хотя пробелов и нет в выборке.


> clickmaker ©   (03.12.08 11:06) [2]


> Правильный$Вася   (03.12.08 11:53) [5]

Когда писалась программа (давно уже) некоторые отчеты даже не предполагались в планах, потому-то и появлялись ошибки. Теперь-то, естественно, при вводе новых данных пробелы обрезаются.


> Сергей М. ©   (03.12.08 11:11) [3]
>
> Гораздо интересней сначала понасоздавать кучу проблем, а
> потом их героически преодолевать)


Как ни странно, но иногда интересно :)


 
DimonS   (2008-12-04 08:45) [8]

Сорри, все нашел.
Спасибо Сергей М., написал вместо
group by Trim(Name)
просто
group by Name,
отсюда и появлялась вторая строка в выборке. А так все работает.


 
Сергей М. ©   (2008-12-04 08:45) [9]


> DimonS   (04.12.08 08:39) [7]


А при

LTrim(RTrim(Name))

ситуация меняется ?


 
Поросенок Винни-Пух ©   (2008-12-04 09:07) [10]

а в основную таблицу пишите ID, а не имя. Тогда и не будет "от юзеров всего можно ожидать"

Словно имя не может быть ключем и не может выбираться из справочника


 
Правильный$Вася   (2008-12-04 11:06) [11]


> Теперь-то, естественно, при вводе новых данных пробелы обрезаются.

а в старых одноразово подрезать не судьба?
чем кроить отчет под левые данные...


 
Anatoly Podgoretsky ©   (2008-12-04 11:07) [12]

> DimonS  (04.12.2008 8:39:07)  [7]

А в консоле один раз ввести команду удаления пробелов в голову не приходило?


 
Anatoly Podgoretsky ©   (2008-12-04 11:08) [13]

> Поросенок Винни-Пух  (04.12.2008 9:07:10)  [10]

> Тогда и не будет "от юзеров всего можно ожидать"

Будет, от юзеров всего можно ожидать


 
DimonS   (2008-12-05 04:16) [14]


> Правильный$Вася   (04.12.08 11:06) [11]


> Anatoly Podgoretsky ©   (04.12.08 11:07) [12]


Сделал уже :)
Вопрос закрыт.



Страницы: 1 вся ветка

Текущий архив: 2009.01.18;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
2-1228647187
aglar
2008-12-07 13:53
2009.01.18
Правильно ли составлен запрос SQL?


15-1226316049
aSa
2008-11-10 14:20
2009.01.18
Компонент как Object Inspector


1-1205853001
Ega23
2008-03-18 18:10
2009.01.18
Наследование фреймов - подводные камни


2-1228244925
Serg
2008-12-02 22:08
2009.01.18
Статус интернет


2-1228223777
alexeis
2008-12-02 16:16
2009.01.18
Поиск в динамически создаваемом TreeView