Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.005 c
2-1228290164
DimonS
2008-12-03 10:42
2009.01.18
Возможно ли сгруппировать записи без ограничивающих пробелов?


15-1227266733
istok2
2008-11-21 14:25
2009.01.18
запуск exe под админом после ребута..


15-1227583427
Slider007
2008-11-25 06:23
2009.01.18
С днем рождения ! 25 ноября 2008 вторник


4-1204227658
Still Swamp
2008-02-28 22:40
2009.01.18
Как можно изменить значение clBtnFace?


15-1226901755
Kolan
2008-11-17 09:02
2009.01.18
Ручная отрисовка ячеек TListView, позиция текста.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский