加入多个表并在一行中获取数据。
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/