Я пытаюсь сделать подтаблицу, которая «хранит» декодирование между двумя значениями, потому что мне нужно использовать это декодирование несколько раз. Скажем, это мои таблицы:Построение временной таблицы в Oracle SQL
Table Person
Name Number_name
Jeremy One
Thomas Two
Stephen Three
мой текущий SQL выглядит следующим образом:
SELECT
decode (number_name,
'one',1,
'two',2,
'three',3,
'four',4)
num
FROM person where name = 'Jeremy'
and (some other condition)
UNION SELECT
decode (number_name,
'one',1,
'two',2,
'three',3,
'four,4)
num
FROM Person
where Name <> "Jeremy"
and (some other condition)
То, что я хотел бы быть в состоянии сделать что-то вроде этого:
SELECT num from my_temp_table where name = "Jeremy" and (some other condition)
union select num from my_temp_table where name <> "Jeremy" and (some other condition)
...
где my_temp_table создается во время этого запроса (он перестает существовать, когда запрос завершается) и будет выглядеть как
Table my_temp_table
Name num
One 1
Two 2
Three 3
Four 4
И надеюсь, я могу сделать это без ПР»„выбрать одно имя, 1 Num от двойного союза все ...“
Является ли это выполнимо?
Как о детерминированной функции? Alessandro – archimede