正如标题所述,我试图同时在同一个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”,依旧等等,如您所见它们没有相同数量的列,并且彼此不相同。
提前完成。
答案 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;