我正在尝试从多个表中获取数据(所有表都相同)
Select column1,column2 From table1,table2
这是在 MYSQL 中获取此信息的正确方法吗?(我在查询中动态传递表名)
我正在尝试从多个表中获取数据(所有表都相同)
Select column1,column2 From table1,table2
这是在 MYSQL 中获取此信息的正确方法吗?(我在查询中动态传递表名)
您需要的语法是这样的:
SELECT a.column1, b.column2
FROM table1 AS a, table2 AS b
AS
给你的表一个别名,你可以直接在你的请求中使用。
也许是这样:
SELECT column1, column2
FROM table1
UNION ALL
SELECT column1, column2
FROM table2
但是你不能动态地传入表名。它们必须事先为数据库所知(因此您需要先在程序中构造 SQL)。
喜欢:
SELECT table1.column1, table2.column2
FROM table1, table2
通过使用表完全限定列,当列在表中具有相同名称时,您将不会遇到冲突。正如zessx在他的回答中所说,另一种方法是给表起别名,这可以使用长表名/模式名使查询更简单。