我有表 A01、B01、C01 等等...所有结构相同。
+----+-----+
| ID | val |
+----+-----+
| 1 | a |
| 2 | b |
+----+-----+
+----+-----+
| id | val |
+----+-----+
| 1 | c |
| 2 | d |
+----+-----+
+----+-----+
| id | val |
+----+-----+
| 1 | e |
| 2 | f |
+----+-----+
是否可以有一个查询来显示所有表中的"val"列?
此外,如果创建新表,则不应更改查询。
我将在PHP网页上运行它。
创建包含所有必需表的联合视图或联合所有子句。如果将来创建一个表,只需更改视图以包含该表即可。
CREATE VIEW AS MYVIEW
SELECT VAL FROM A01 UNION ALL
SELECT VAL FROM B01...
始终使用相同的查询来获取数据:
SELECT VAL FROM MYVIEW
你不能在MySQL中做新表。 您必须定义它们。 对于给定的表,您可以执行此操作
select val from `A01`
union all
select val from `B01`
union all
select val from `C01`
演示
SQLFiddle
SELECT t1.val
FROM table1 AS t1
UNION
SELECT t2.val FROM table2 AS t2
UNION
SELECT t3.val FROM table3 AS t3