Maj*_*ssi 7 sql oracle oracle11g
我有一张TABLE1带柱子的桌子COL_TAB1.
select * from TABLE1:
COL_TAB1
| 1 |
| 2 |
| 3 |
Run Code Online (Sandbox Code Playgroud)
而另一台TABLE2用COL_TAB2和引用第一列COL_TAB1
select * from TABLE2:
COL_TAB2 | COL_TAB1
| val1 | 1
| val2 | 2
| val2 | 3
Run Code Online (Sandbox Code Playgroud)
是否可以在table1上添加虚拟列,以便获得与以下查询相同的结果:
select
t1.COL_TAB1,
(select t2.COL_TAB2 from TABLE2 t2 where t2.COL_TAB1 = t1.COL_TAB1)
from TABLE1 t1
Run Code Online (Sandbox Code Playgroud)
我试过了 :
alter table TABLE1 add (
SOME_COL_NAME as (select t2.COL_TAB2 from TABLE2 t2 where t2.COL_TAB1 = COL_TAB1)
)
Run Code Online (Sandbox Code Playgroud)
但它给了我 ORA-00936: missing expression