使用 MySql 中的一个或多个视图创建 UNION
Create UNION with one or more views in MySql
我正在尝试获取查询与视图或视图与视图的联合。但是在 MySql 中这样做会返回 ER_PARSE_ERROR
.
假设我有一个名为 B_SAL
的视图,用于查看特定数据集在特定操作之前的状态。
CREATE OR REPLACE VIEW B_SAL AS
SELECT * FROM EMP ORDER BY EMP.COMM;
在该操作之后我想获得 B_SAL
的 UNION ALL
和数据集的当前状态,在本例中为 EMP
.
(SELECT * FROM EMP ORDER BY EMP.COMM)
UNION ALL
B_SAL
您需要从该视图select,例如
SELECT * FROM EMP
UNION ALL
SELECT * FROM B_SAL;
但是上面的 union 不是很好的做法,因为我们是在做 SELECT *
,而不是明确列出我们要使用的列。更好的版本看起来像这样:
SELECT col1, col2, col3 FROM EMP
UNION ALL
SELECT col1, col2, col3 FROM B_SAL;
我正在尝试获取查询与视图或视图与视图的联合。但是在 MySql 中这样做会返回 ER_PARSE_ERROR
.
假设我有一个名为 B_SAL
的视图,用于查看特定数据集在特定操作之前的状态。
CREATE OR REPLACE VIEW B_SAL AS
SELECT * FROM EMP ORDER BY EMP.COMM;
在该操作之后我想获得 B_SAL
的 UNION ALL
和数据集的当前状态,在本例中为 EMP
.
(SELECT * FROM EMP ORDER BY EMP.COMM)
UNION ALL
B_SAL
您需要从该视图select,例如
SELECT * FROM EMP
UNION ALL
SELECT * FROM B_SAL;
但是上面的 union 不是很好的做法,因为我们是在做 SELECT *
,而不是明确列出我们要使用的列。更好的版本看起来像这样:
SELECT col1, col2, col3 FROM EMP
UNION ALL
SELECT col1, col2, col3 FROM B_SAL;