麻烦使用UNION ALL

时间:2012-01-21 21:24:29

标签: php mysql

我正在使用以下内容从php文件中的数据库中获取数据:

$query_pedVR = sprintf("SELECT * FROM tablename WHERE active = 1 ORDER BY name ASC");

我需要做的是在一个查询中组合两个表,但似乎无法使其工作。我尝试过UNION ALL,但找不到有效的语法。这不起作用:

$query_pedVR = sprintf("SELECT * FROM table1 UNION ALL SELECT * FROM table2 WHERE active = 1 ORDER BY name ASC");

也尝试过:

$query_pedVR = sprintf("SELECT * FROM table1 WHERE active = 1 ORDER BY name ASC UNION ALL SELECT * FROM table2");

这两个表中没有任何常用条目。这两个表也有不同的列。

是否可以使用不同的表结构执行此操作?

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:2)

如果表格具有不同的结构,则无法使用select *,但必须指定单个字段

SELECT field1,field2 FROM table1 WHERE active = 1
union all
SELECT field1,field2 FROM table2 WHERE active = 1