sql - 添加额外的列以查看表中不存在的列

标签 sql oracle

我想用三个表的联合创建 View 。但在结果查询中,我想要一个额外的列,如“tableId”。

我的代码就像

CREATE OR REPLACE VIEW DETAILS
AS SELECT 
* FROM
(
SELECT 
    T1.ID,
    T1.AMOUNT,
    T1.STATUS,
    T1.ADDEDBY,
    T1.ADDEDON
FROM Table1 T1
UNION ALL
SELECT 
    T2.ID,
    T2.AMOUNT,
    T2.STATUS,
    T2.ADDEDBY,
    T2.ADDEDON
FROM Table2 T2
UNION ALL
SELECT
    T3.ID,
    T3.BILLAMOUNT,
    T3.STATUS,
    T3.ADDEDBY,
    T3.ADDEDON  
FROM Table3 T3
);

这给了我所需的三个表的联合。
但是如何在结果输出中获取表 ID 列?此列不存在于三个表中的任何一个中。

最佳答案

听起来您只想在 SELECT 中添加一个额外的硬编码值。列表

CREATE OR REPLACE VIEW DETAILS
AS SELECT 
* FROM
(
SELECT 
    T1.ID,
    T1.AMOUNT,
    T1.STATUS,
    T1.ADDEDBY,
    T1.ADDEDON,
    'T1' tableID
FROM Table1 T1
UNION ALL
SELECT 
    T2.ID,
    T2.AMOUNT,
    T2.STATUS,
    T2.ADDEDBY,
    T2.ADDEDON,
    'T2' tableID
FROM Table2 T2
UNION ALL
SELECT
    T3.ID,
    T3.BILLAMOUNT,
    T3.STATUS,
    T3.ADDEDBY,
    T3.ADDEDON,
    'T3' tableID  
FROM Table3 T3
);

关于sql - 添加额外的列以查看表中不存在的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11608464/

相关文章:

oracle - 加载csv并写入有个别错误的不良记录

sql - 如何将值列表传递给一个 Oracle Report 参数?

mysql - 使用 LIKE 从逗号分隔的字符串中提取 ID

mysql - 如何解决SQL单向对

php - 使用 PHP/MySQL 运行 SQL 查询,然后对结果重新排序

sql - 从结果集中删除空白行

javascript - 类型错误 : done is not a function query callback

sql - 在 Oracle SQL 中对数据集进行分组

oracle - Oracle 允许什么样的循环依赖?

java - Hibernate hql 子字符串函数在 postgres 和 oracle 中的行为不同?