MySQL - 从具有相同结构但不同数据的多个表中选择数据

问题描述:

好的,这是我的困境我有一个数据库,其中设置了大约 5 个表,所有表都具有完全相同的数据结构.以这种方式分离数据是为了本地化目的,并拆分总共约 450 万条记录.

Ok, here is my dilemma I have a database set up with about 5 tables all with the exact same data structure. The data is separated in this manner for localization purposes and to split up a total of about 4.5 million records.

大多数时候只需要一张桌子,一切都很好.但是,有时需要来自 2 个或更多表的数据,并且需要按用户定义的列对其进行排序.这就是我遇到问题的地方.

A majority of the time only one table is needed and all is well. However, sometimes data is needed from 2 or more of the tables and it needs to be sorted by a user defined column. This is where I am having problems.

数据列:

id, band_name, song_name, album_name, genre

MySQL 语句:

SELECT * from us_music, de_music where `genre` = 'punk'

MySQL 吐出这个错误:

MySQL spits out this error:

#1052 - Column 'genre' in where clause is ambiguous

显然,我做错了.有人愿意为我解释一下吗?

Obviously, I am doing this wrong. Anyone care to shed some light on this for me?

我认为您正在寻找 UNION 子句,一拉

I think you're looking for the UNION clause, a la

(SELECT * from us_music where `genre` = 'punk')
UNION
(SELECT * from de_music where `genre` = 'punk')