0

我正在尝试从多个表中获取数据(所有表都相同)

Select column1,column2 From table1,table2

这是在 MYSQL 中获取此信息的正确方法吗?(我在查询中动态传递表名)

4

3 回答 3

1

您需要的语法是这样的:

SELECT a.column1, b.column2
FROM table1 AS a, table2 AS b

AS给你的表一个别名,你可以直接在你的请求中使用。

于 2012-06-19T10:21:02.650 回答
0

也许是这样:

 SELECT column1, column2
 FROM table1
 UNION ALL
 SELECT column1, column2
 FROM table2

但是你不能动态地传入表名。它们必须事先为数据库所知(因此您需要先在程序中构造 SQL)。

于 2012-06-19T10:24:19.327 回答
0

喜欢:

SELECT table1.column1, table2.column2 
FROM table1, table2

通过使用表完全限定列,当列在表中具有相同名称时,您将不会遇到冲突。正如zessx在他的回答中所说,另一种方法是给表起别名,这可以使用长表名/模式名使查询更简单。

于 2012-06-19T10:21:29.560 回答