当前位置: 首页 > 面试题库 >

向视图添加额外的列,该列不存在于表中

岳凯康
2023-03-14
问题内容

我想用三个表的联合创建视图。但是在结果查询中,我想要一个额外的列,例如“ 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
);


 类似资料:
  • 我有一个,作为布局管理器,我正在尝试获得这种安排: 忽略边框的额外深蓝色空间。 我总共有5列和3行,所有组件都将设置PreferredSize()设置为精确值,以完全适合同样具有首选大小(170 x 115)的JPanel。 问题是似乎在最后一列宽度上添加了30 pxls,因为仅在的宽度上添加了30 pxls(总共200个)组件显示正确,如下所示: 但由于额外的空间,最后一列被分隔开了。 它添加了

  • 我使用以下代码将图标添加到TreeItem中。使用Jfeniox库进行材质设计图标。当我点击tree项时,图标会随机出现在treeview列表的末尾,就像在Image中一样。

  • 嗨,我正在尝试重新创建一个足球锦标赛,已经能够创建一个地图的集团,但现在想要添加到每个国家的点数。有人有什么好主意吗?请看看我已经做了什么。

  • 我有一个文件,其中包含以下数据: 我正在尝试插入一个名为“Date”的列作为第一列。 我使用的进出口商品如下: 但上述情况并没有如预期的那样起作用。它正在替换列数据。

  • 假设我有一个对象,该对象包含格式的时间戳,例如。 我想把它转换成对象,并为每个时间戳列出“自午夜以来的分钟数”值: ..., 但我想用一种风格,用一个列表来理解。我天真地构造了一个(语法上不正确的)实现 ,但这不起作用,因为对于hh,mm=ts.split(“:”)不是有效的语法。。。 写同样的事情的有效方法是什么? 澄清一下:我可以看到一个形式上令人满意的解决方案 ,但这是非常低效的,我不想把字

  • 我想在表的第二列中追加 。输出应为 我不想使用,因为我需要在我的实际问题中追加嵌套的div。我制作了同样的小示例。JsFiddle