同时查询多个mySQL表

时间:2010-09-08 07:52:51

标签: mysql database

正如标题所述,我试图同时在同一个DB中查询多个mySQL表,这是我的查询,

SELECT * FROM `database_db`.`one, two, three, four, five, six, seven` WHERE uid='1234567'

我正在使用mySQL工作台来执行查询,但是当我运行它时,我收到此错误

Error Code: 1103
Incorrect table name 'one, two, three, four, five, six, seven'

我知道问题在于我的查询,我在哪里选择表格,我假设我不能选择多个,或者我的语法可能不正确?

我还有另一种方法可以达到相同的效果吗?

编辑:每个表都不同,每个表都有不同的列数,它们唯一的共同点是uid。

例如,表1中的列为“oneA,oneB,oneC”,表2的列为“twoA,twoB,twoC,twoD,twoE”,依旧等等,如您所见它们没有相同数量的列,并且彼此不相同。

提前完成。

3 个答案:

答案 0 :(得分:3)

IF表结构对于表是相同的:一,二,三......然后你可以使用UNION

SELECT * FROM one
WHERE uid='1234567'
UNION ALL
SELECT * FROM two
WHERE uid='1234567'
UNION ALL
SELECT * FROM three
WHERE uid='1234567'
....
UNION ALL
SELECT * FROM seven
WHERE uid='1234567'

答案 1 :(得分:3)

您可能想要加入表格:

SELECT *
FROM one
JOIN two ON one.uid = two.uid
JOIN three ON one.uid = three.uid
WHERE one.uid='1234567'

答案 2 :(得分:0)

也许我不太了解这个问题但是这样的事情是什么:

SELECT *  
  FROM table_a a, table_b b, table_c c 
 WHERE a.uid = b.uid = c.uid = 12345;