我使用以下方法从 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");
两个表中没有任何公共(public)条目。这两个表也有一组不同的列。
是否可以使用不同的表结构来做到这一点?
感谢您提供的任何帮助。
最佳答案
如果表具有不同的结构,则不能使用select *
,但必须指定单个字段
SELECT field1,field2 FROM table1 WHERE active = 1
union all
SELECT field1,field2 FROM table2 WHERE active = 1
关于php - 使用 UNION ALL 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8956818/