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