Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Возможно ли сгруппировать записи без ограничивающих пробелов? [D7, XP]


DimonS ©   (2008-12-03 10:42:00) 

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

select Name
From Gas
group by Name


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

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

Да, база Access.


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


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


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


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


Anatoly Podgoretsky   (2008-12-04 11:08:00) [2]

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

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

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


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

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

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


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


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

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


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

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

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


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

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


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


> DimonS   (04.12.08 08:39) [7]


А при

LTrim(RTrim(Name))

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


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


> Сергей М. ©   (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]
>
> Гораздо интересней сначала понасоздавать кучу проблем, а
> потом их героически преодолевать)


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


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

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


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


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

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


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

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

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


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


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


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


clickmaker   (2008-12-03 11:06:00) [13]

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

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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо