我想创建视图与三个表的联合。但在结果查询中,我想要一个额外的列,如'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列结果输出?该列不在三个表中的任何一个中。
感谢这很有帮助 – user1181942 2012-07-23 08:15:03
我得到'视图的SELECT包含FROM子句中的子查询'是这种特定于Oracle的语法吗?我有MySQL(通过phpmyadmin运行)thx – Awena 2015-04-01 13:21:22
@Awena - 语法应该是ANSI标准(虽然标准可能需要内联视图是别名)。然而,我不知道,如果MySQL支持它,或者需要做什么调整来使查询在MySQL上工作。 – 2015-04-01 14:36:24