php - 使用 UNION ALL 时出现问题

标签 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");

两个表中没有任何公共(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/

相关文章:

php - 使用两种语言时如何决定是使用 JavaScript 还是 PHP 对象?

php - 将变量从选择元素传递到 JSON 更新函数 - PHP

mysql 查询中未选择记录

php - 无法在 php 中读取 python 的输出

mysql - 将数据从 React 发送到 MySQL

php - iframe 的远程主机

javascript - 当前页面卸载时将字符串与单击的 URL 进行匹配

php - 错误 "PHP Error wasArray to string conversion"

php - 如何从数据库中获取NULL

mysql - 为Mysql表添加索引