0

我想连接来自 2 个选定列的值并将结果用作另一个选择语句的表名:

select a.ColumnA,
       a.ColumnB, 
       b.ColumnG, 
       (a.ColumnA || '.' || a.ColumnB) "TABLENAME"
       (select t.ColumnX from TABLENAME t where t.ColumnY = 'whatever') "GOAL"
from
       table a,
       table b,
where
       ....

所以假设

table a:
ColumnA ColumnB ColumnC ...
    dev    town      15

table b:
ColumnF ColumnG ColumnH ...
    aaa    bbb      ccc

架构 dev 中的某个地方存在表 town,可以使用名称 dev.town 进行查询:

table dev.town:
ColumnX   ColumnY ColumnZ ...
    Joe  whatever      Mr

所以“我的查询”返回

ColumnA ColumnB ColumnG TABLENAME GOAL
--------------------------------------
    dev    town     bbb  dev.town  Joe

有没有办法得到我需要的结果?

谢谢。

4

1 回答 1

0

不在 Oracle 的 SQL 语句中。如果您深入了解 PL/SQL,那么您可以使用EXECUTE IMMEDIATE语句来动态生成所需的表。

于 2012-11-19T00:49:44.150 回答