mysql - 如何连接和获取具有多个表但相同结构的数据?

标签 mysql sql

加入多个表并在一行中获取数据。

tbl_2012-08(结构)

id | data_log | data_name 
1 | 0001 | first 2 | 0002 | second


tbl_2012-09(结构)

id | data_log | data_name 
1 | 0003 | third


输出:

data_log
0001
0002
0003

我怎样才能加入这 2 个表,以便我可以一次提取数据。
任何情况都会有所帮助
喜欢:
创建另一个表或其他东西

最佳答案

我不知道为什么每个月都有单独的表,但您应该能够使用 UNION 查询从两个表返回数据:

select id, data_log, data_name
from `tbl_2012-08`
union all
select id, data_log, data_name
from `tbl_2012-09`

我使用 UNION ALL 返回两个表中的所有行,其中包括重复项(如果有)。你不能 JOIN 表,除非你在两个表中都有一些共同的值,如果你每个月都有单独的表,那么我猜你在两个表中没有共同的值。

作为旁注,我可能会包含一列,以便您可以轻松识别数据来自哪个表:

select id, data_log, data_name, '2012-08' mth
from `tbl_2012-08`
union all
select id, data_log, data_name, '2012-09' mth
from `tbl_2012-09`

我的建议是考虑更改此数据结构,每个月都有一个单独的表将变得非常难以管理。

如果您只想返回data_log,那么您只需使用:

select data_log
from `tbl_2012-08`
union all
select data_log
from `tbl_2012-09`

关于mysql - 如何连接和获取具有多个表但相同结构的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18486985/

相关文章:

PHP导出DBF文件格式

php - 将列字段中的值与列行中的值进行比较,并打印为选中和未选中的复选框

php - 在 mysql 查询的 WHERE 子句中使用 php 变量

mysql - 其中哪一项更适合用于论坛的 ASP.NET Access 数据库

java - 重新设计MySQL表的主键

python - 抓取并存储数据以供 html 显示

php重定向页面问题

mysql - 在sql中查找期间的计数

c# - SQL加密字符串的解密

sql - if exists 在 select 语句耗时 1 秒时耗时 "forever"