我正在尝试制作一个在两个值之间“存储”解码的子表,因为我需要多次使用该解码。假设这些是我的表:
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 个来自双重联合的所有...”的情况下做到这一点
这是可行的吗?