使用UNION ALL时出现问题


Trouble using UNION ALL

我使用以下方法从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");

这两个表中没有任何共同的条目。这两个表还有一组不同的列。

用不同的表结构可以做到这一点吗?

谢谢你能提供的任何帮助。

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

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