powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / условие в запросе
12 сообщений из 12, страница 1 из 1
условие в запросе
    #39659388
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, подскажите как прописать условия в sql
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select a.id, d.depnum, d.depname, d.settlementname, c.valuecode, c.iso, a.ratedate, a.buyrate, a.sellrate, a.Curr2,
                       a.count1,a.count2
              from lexratesdep a, codesref c, ments d,valuecodesref c2, command c1
             where a.Curr1 = c.valuecode
               and a.Curr2 = c2.valuecode
               and a.commandid = c1.commandid
               and c2.valuekindid = 0
               and c.valuekindid = 0
               and d.id = e.id               
               and a.CType1 = 0
               and a.CType2 = 0
               and a.isactual = 1
               and (nvl(c1.iscontractual, 0) = 0)
             order by a.id


если
Код: plsql
1.
c1.users ='rent'

тогда выполнять эту строчку
Код: plsql
1.
and (nvl(c1.iscontractual, 0) = 0)
...
Рейтинг: 0 / 0
условие в запросе
    #39659393
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
(c1.users <> 'rent' or c1.users is null or nvl(c1.iscontractual, 0) = 0)
...
Рейтинг: 0 / 0
условие в запросе
    #39659395
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, но почему <> ? если нужно проверять чтобы пользователь был 'rent'
...
Рейтинг: 0 / 0
условие в запросе
    #39659397
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpionно почему <> ? если нужно проверять чтобы пользователь был 'rent'
Код: plaintext
Есть 10 типов людей: которые понимают двоичную арифметику и которые нет.
...
Рейтинг: 0 / 0
условие в запросе
    #39659398
elimpion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic, ну а все же почему?
...
Рейтинг: 0 / 0
условие в запросе
    #39659403
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elimpionElic, ну а все же почему?Включи мозг. Не поможет - составь таблицу истинности для различных сочетаний характерных значений users и iscontractual.
...
Рейтинг: 0 / 0
условие в запросе
    #39660429
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
Код: plsql
1.
c1.users <> 'rent' or c1.users is null

Код: plsql
1.
lnnvl(c1.usr = 'rent')
...
Рейтинг: 0 / 0
условие в запросе
    #39660431
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad
Код: plsql
1.
lnnvl

А я за сопровождаемость.
...
Рейтинг: 0 / 0
условие в запросе
    #39660490
jrqq4-h7h2v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
and nvl(c1.iscontractual, 0) = case c1.users
                                           when 'rent' then 0
                                           else nvl(c1.iscontractual, 0)
                                         end
...
Рейтинг: 0 / 0
условие в запросе
    #39660497
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не даст использовать индех. A вот c1.users <> 'rent' or c1.users is null даст (при определенных условиях):

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
SQL> create index emp_idx9 on emp(comm,sal,empno);

Index created.

SQL> explain plan for
  2  select comm,sal from emp where comm <> 0 or comm is null or nvl(sal,0) = 0
  3  /

Explained.

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3905226963

-----------------------------------------------------------------------------
| Id  | Operation        | Name     | Rows  | Bytes | Cost (%CPU)| Time     |
-----------------------------------------------------------------------------
|   0 | SELECT STATEMENT |          |    11 |    66 |     1   (0)| 00:00:01 |
|*  1 |  INDEX FULL SCAN | EMP_IDX9 |    11 |    66 |     1   (0)| 00:00:01 |
-----------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter("COMM" IS NULL OR "COMM"<>0 OR NVL("SAL",0)=0)

13 rows selected.

SQL> 



SY.
...
Рейтинг: 0 / 0
условие в запросе
    #39660597
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,

мож у elimpion c1.users NOT NULL

.....
stax
...
Рейтинг: 0 / 0
условие в запросе
    #39660603
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxмож у elimpion c1.users NOT NULLКашу маслом не испортишь.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / условие в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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