|
|
|
Отбор не пустых записей
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста! Есть таблица в которой, начиная с 5-го столбца идут данные (числа). Пытаюсь отобрать записи, где хотя бы в одном из столбцов 5-13 не нули или не пусто. Пишу WHERE (Поле5 is not null) or (Поле6 is not null)... Для 6-ти столбцов всё работает. Как только добавляю 7-й начинает глюковать. Это что? ограничение на кол-во OR? Если в режиме конструктора ставить is not null, то тоже самое. От порядка столбцов не зависит. Как только больше 7-ми OR - глючит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 10:20 |
|
||
|
Отбор не пустых записей
|
|||
|---|---|---|---|
|
#18+
про ограничение OR не знаю. А ты попробуй так: Nz(Поле5,0) + nz(Поле6,0) + NZ(Поле7,0).... <7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 11:54 |
|
||
|
Отбор не пустых записей
|
|||
|---|---|---|---|
|
#18+
только не<7 , a >0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 11:57 |
|
||
|
Отбор не пустых записей
|
|||
|---|---|---|---|
|
#18+
Гм... А что, отрицательных значений не бывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 12:49 |
|
||
|
Отбор не пустых записей
|
|||
|---|---|---|---|
|
#18+
это ты автора топика спроси ему идею дали, пусть дорабатывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 12:55 |
|
||
|
Отбор не пустых записей
|
|||
|---|---|---|---|
|
#18+
А если отрицательные бывают, то идея вообще не подойдет: (-1)+1+0+0+0 = 0 Поэтому проверять нужно культурно: where (nz(Поле1б,0)<>0 or nz(Поле1б,0)<>0 or ...) Наверное, так и было, только делалось в конструкторе запросов. Из конструктора эти проверки надо либо выкинуть и написать в режиме правки строки sql, или в поле целиком класть строчку Выражение1: nz(Поле1б;0)<>0 or nz(Поле1б;0)<>0 or ... и в условие отбора - true ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 14:16 |
|
||
|
Отбор не пустых записей
|
|||
|---|---|---|---|
|
#18+
Чё вы спорите? Проблема-то была в ограничении по Or, значит это надо преобразовать в арифметическое выражение и всё. можно хоть так если других способов нет: iif(поле5 is not null,0,1)+ iif(поле6 is not null,0,1)+.... >0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 17:00 |
|
||
|
Отбор не пустых записей
|
|||
|---|---|---|---|
|
#18+
>>Пытаюсь отобрать записи, где хотя бы в одном из столбцов 5-13 не нули или не пусто. Пишу WHERE (Поле5 is not null) or (Поле6 is not null)... какой такой павлин-мавлин? какой такой ограничений? WHERE (Поле5+0)<>0 or (Поле6... и хоть утыкайся. Я специально проверил на SELECT a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13 FROM a WHERE ((a1+0) <>0) OR ((a2+0) <>0) OR ((a3+0) <>0) OR ((a4+0) <>0) OR ((a5+0) <>0) OR ((a6+0) <>0) OR ((a7 +0) <>0) OR ((a8 +0) <>0) OR ((a9 +0) <>0) OR ((a11+0) <>0) OR ((a12+0) <>0) OR ((a13+0) <>0) ; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2003, 18:40 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1729&tid=1678587]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
17ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 266ms |

| 0 / 0 |
