我的列是子查询的结果,我想指定一个列别名字段是从另一个查询中提取的,但我不能。
携带示例不起作用:
SELECT field1,
field2,
(SELECT FROM mytable WHERE COND1 aa) as [SELECT name FROM MyTable WHERE cond2]
FROM table1
可能吗?谢谢
在某些情况下(不包括 X-Zero 提到的那些),您可以使用多个查询和动态 SQL 来做到这一点。
DECLARE
v_alias VARCHAR2(30);
v_query_alias VARCHAR2(1000);
BEGIN
SELECT name
INTO v_alias
FROM MyTable
WHERE cond2;
EXECUTE IMMEDIATE 'SELECT field1
,field2
,(SELECT FROM mytable WHERE COND1 aa) as '||v_alias||'
FROM table1';
END;
/