powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / проблема с запросом
11 сообщений из 11, страница 1 из 1
проблема с запросом
    #39672188
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет народ!
У меня тут проблема с запросом.
Есть табличка:
"id""ClientRegId""shortname""OrgType""RegionCode"1"030000003559""ООО ""Старый Мастер-НВ"""2"010047730346""ОАО ""Л Дистрибьюшен"""3"010000006598""ООО ""Альтаир групп"""4"030000019706""ООО ""ТД ""Диокорт-Запад""""UL""77"5"010000006066""АО ""МБ группа Импэкс"""6"030000003516""ООО ""ТД ЗОЛОТОЙ СТАНДАРТ"""7"010000003947""ООО ""АЛЬТЕРВИНА"""8"010000006173""АСТ-интернэшнл инваэронмэнт"9"010000006250""ООО ""Виноторговая компания ""Форт"""10"010002825083""ООО ""Артельные традиции"""11"""""UL"12"010000003620""ООО ""АРМЯНСКИЙ КОНЬЯК"""23"030000019716""ООО ""КРАФТБИР""""UL""77"24"010060687825""ООО ""Юпитер Инкорпорейтед""""UL""73"36"030000000017""ООО ""ПИВОВАРЕННАЯ КОМПАНИЯ ""БАЛТИКА""""UL""78"52"010054002523""ООО ""Группа ЛАДОГА""""UL""78"53"030000000012""АО ""САН ИНБЕВ"""54"050000025973""Компания Сервесериа""FO"""55"050000003948""Лукас Болс Б.В.""FO"""56"030000039120""АО ""САН ИНБЕВ""""UL""37"57"050000028028""Танака Ко., Лтд.""FO"""58"050000028099""Дебриз-Дюлак.эСи""FO"""59"010000006687""ЗАО ""ВИЛАШ""""UL""78"60"050000012864""АйришДистиллерсЛимитед""FO"""61"010000000280""ООО ""СТАНДАРТЪ""""UL""52"62"010000000208""ОАО ""Белвино""""UL""31"63"010037655439""ООО ""ИЗМВ""""UL""92"64"050000012863""""Чивас Бразерс Лимитед""""FO"""65"050000030065""ЗАО ""Е.К.З""""TS"""66"050000012875""«ЛИЛЛЕ С.А.»""FO"""67"010037709623""ООО ""Вейн унд Вассер""""UL""92"68"050000033557""Кантина ди Сона С.р.л.""FO"""79"050000025643""""ГальяноМаркатиСРЛ""""FO""52"80"010000000269""ЗАО ""Игристые вина""""UL""78"
Есть запрос:
Код: sql
1.
2.
3.
SELECT id, ClientRegId
FROM suppliers
WHERE ClientRegId is not null and ( orgtype Is Null Or ((orgtype='UL' Or orgtype='FL') And regioncode Is Null));


Т.е. мне надо выбрать все не пустые ClientRegId у которых orgtype равен UL или FL и при этом отсутствует regioncode

Есть результат:
idClientRegId 1"030000003559"2"010047730346"3"010000006598"5"010000006066"6"030000003516"7"010000003947"8"010000006173"9"010000006250"10"010002825083"11""12"010000003620"53"030000000012"
В результате 11 - лишнее.
Как правильно записать?
...
Рейтинг: 0 / 0
проблема с запросом
    #39672198
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда.. все таки null и пустая строка это не одно и тоже.
Где то я проморгал со своими экспериментами.
Или еще что нить влияет.
...
Рейтинг: 0 / 0
проблема с запросом
    #39672202
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно чень на тему

Код: sql
1.
...len(nz(regioncode,""))=0..
...
Рейтинг: 0 / 0
проблема с запросом
    #39672206
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubuchaможно чень на тему

Код: sql
1.
...len(nz(regioncode,""))=0..


а чем плох (regioncode = '' or regioncode is null ) ?
...
Рейтинг: 0 / 0
проблема с запросом
    #39672211
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
didgikbubuchaможно чень на тему

Код: sql
1.
...len(nz(regioncode,""))=0..


а чем плох (regioncode = '' or regioncode is null ) ?
больше букв :-)
когда таких OR-ов много и имена полей не маленькие.... у меня из глаз кровь идет

...да ничем не плох, вкусовщина
...
Рейтинг: 0 / 0
проблема с запросом
    #39672218
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubucha, а быстродействие не страдает? Ну и понятность не особо очевидная. )
...
Рейтинг: 0 / 0
проблема с запросом
    #39672275
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ещё вариант с использованием TRIM
создаёте колонку в запросе, где добавляете пробел или пару пробелов к реквизиту которое может быть содержать NULL или пробел или ничего с типом string
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT id, ClientRegId, OrgType, RegionCode
FROM suppliers
WHERE (TRIM('   ' & ClientRegId)='') 
AND 
(OrgType='UL') Or (OrgType='FL')
 AND
 (TRIM('   ' & RegionCode)='')



так же и числовые поля можете читать не опасаясь за NULL, добавляя пробел
Код: vbnet
1.
VAL( '    ' & trpr )
...
Рейтинг: 0 / 0
проблема с запросом
    #39672280
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
didgikbubucha, а быстродействие не страдает? Ну и понятность не особо очевидная. )len относится к быстродействующим функциям и к тому же написали меньше букаф.
...
Рейтинг: 0 / 0
проблема с запросом
    #39672627
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubuchadidgikпропущено...

а чем плох (regioncode = '' or regioncode is null ) ?
больше букв :-)
когда таких OR-ов много и имена полей не маленькие.... у меня из глаз кровь идет

...да ничем не плох, вкусовщина

Вот интересно. Иногда попадаются базы с пустым полем ClientRegId которое по ClientRegId Is Not Null Or trim(ClientRegId)<>'' не отлавливается, а по len(nz(ClientRegId,""))<>0 отлавливается. Что бы там могло быть? )
...
Рейтинг: 0 / 0
проблема с запросом
    #39672656
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
didgik,

я обычно применяю по len(ClientRegId &"")>0
...
Рейтинг: 0 / 0
проблема с запросом
    #39672657
didgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем я ступил. Вместо ClientRegId Is Not Null Or trim(ClientRegId)<>'' надо было ClientRegId Is Not Null and trim(ClientRegId)<>''
надеюсь теперь верно будет.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / проблема с запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]