0

我的列是子查询的结果,我想指定一个列别名字段是从另一个查询中提取的,但我不能。

携带示例不起作用:

SELECT field1, 
       field2,
       (SELECT FROM mytable WHERE COND1 aa) as [SELECT name FROM MyTable WHERE cond2]
  FROM table1

可能吗?谢谢

4

1 回答 1

0

在某些情况下(不包括 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;
/
于 2012-07-25T09:13:49.653 回答