Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];
ВнизВозможно ли сгруппировать записи без ограничивающих пробелов? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c