我正在使用以下内容从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");
这两个表中没有任何常用条目。这两个表也有不同的列。
是否可以使用不同的表结构执行此操作?
感谢您提供的任何帮助。
答案 0 :(得分:2)
如果表格具有不同的结构,则无法使用select *
,但必须指定单个字段
SELECT field1,field2 FROM table1 WHERE active = 1
union all
SELECT field1,field2 FROM table2 WHERE active = 1