Sql 如何访问内部查询列
我需要在update语句中使用此查询Sql 如何访问内部查询列,sql,oracle,Sql,Oracle,我需要在update语句中使用此查询 UPDATE RUN_RESULT SET UNQKEY = ( select UNQKEY_VALUE from ( select distinct RUN_ID, TOCID, 'UNQKEY' || r as UNQKEY ,
UPDATE RUN_RESULT
SET UNQKEY = (
select UNQKEY_VALUE
from (
select distinct RUN_ID,
TOCID,
'UNQKEY' || r as UNQKEY ,
TOCNAME,
UNIQUENESS_COLUMN_ID,
DECODE( r, 1, UNQKEY1, 2, UNQKEY2, 3, UNQKEY3, 4, UNQKEY4 , 5, UNQKEY5) AS UNQKEY_VALUE
from TOC TOC,
RULE RL,
RUN_RESULT RR,
(select rownum r
from all_objects
where rownum <=5)
WHERE RL.RULE_SET_ID=RR.RULE_SET_ID
AND TOC.TOCID= RR.TOC_ID ) t
WHERE UNIQUENESS_COLUMN_ID like UNQKEY
and UNQKEY_VALUE IS NOT NULL )
Where ?????
我必须使用内部查询列,如RUN_ID、TOCID、如何在内部查询列中访问您介意格式化您的问题,以便我们可以实际阅读它吗?您所说的内部查询列中的访问是什么意思。你到底想在这里实现什么?你只是想在最后一个WHERE子句中使用t.RUN\u ID和t.TOCID吗?为什么您需要它,而不在内部查询中进行筛选?您不能这样做。您需要重新构造查询。参考如果可以连接到内部查询而不是从中选择,则可以访问外部查询中的所有列。