powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Подстановка значений не из таблицы
4 сообщений из 4, страница 1 из 1
Подстановка значений не из таблицы
    #39546070
surru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Прошу помощи или тыкнуть носом в справку (сам не нашёл):
Как в select подставить, по условию, значение не из другой таблицы, а произвольное. Например:
Код: plsql
1.
SELECT raz,dva,tri FROM table1 if raz=10 THEN tri=20 
...
Рейтинг: 0 / 0
Подстановка значений не из таблицы
    #39546082
tyshenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
surru,

Если значение зависит от одного параметра то так
Код: sql
1.
2.
SELECT DECODE(res,10,20,30) tru
  FROM table1


иначе
Код: sql
1.
2.
3.
4.
5.
6.
SELECT CASE
            WHEN res=10 AND услувие2=2
            THEN 20
            ELSE 30
            END tru
  FROM table1
...
Рейтинг: 0 / 0
Подстановка значений не из таблицы
    #39546088
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surru,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
  1  with table1 as (
  2  SELECT 1 raz,2 dva,3 tri FROM dual
  3  union all
  4  SELECT 10 raz,12 dva,13 tri FROM dual
  5  )
  6* select raz,dva,decode(raz,10,20,tri) tri from table1
SQL> /

       RAZ        DVA        TRI
---------- ---------- ----------
         1          2          3
        10         12         20



+case ...
https://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions004.htm

.....
stax
...
Рейтинг: 0 / 0
Подстановка значений не из таблицы
    #39546089
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
surruДобрый день. Прошу помощи или тыкнуть носом в справку (сам не нашёл):
Как в select подставить, по условию, значение не из другой таблицы, а произвольное. Например:
Код: plsql
1.
SELECT raz,dva,tri FROM table1 if raz=10 THEN tri=20 



Переведи, что ты хочешь?
Как понимать что ты написал?
Код: 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.
-- генерация тестовых данных
with table1(raz,dva,tri) as (
select 1,2,3 from dual union all
select 10,20,30  from dual union all
select 100,200,300 from dual
)
-- 
select 
   raz
 ,dva
 ,case when raz=10 
   then 20 
   else tri
   end 
         as tri 
from table1;

       RAZ        DVA        TRI
---------- ---------- ----------
         1          2          1
        10         20         20
       100        200        100


~
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Подстановка значений не из таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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