php - MySQL UNION SELECT 3 表错误

标签 php mysql union

我正在尝试联合选择 3 个表:admin_table、moderator_table、user_table。

三者共享相同的列:uid、用户名、密码。

这是他们的内容。

admin_table
uid   |   username   |   password
---------------------------------------
1001  |   admin01    |   lakK4wAsln@ZGK


moderator_table
uid   |   username   |   password
---------------------------------------
2001  |   mod01      |   jb#0NAL837AjLj


user_table
uid   |   username   |   password
---------------------------------------
3001  |    user01    |   sdndLaKn$RfGK:

问题是当我执行这个查询时:

SELECT * FROM admin_table UNION SELECT * FROM moderator_table UNION SELECT * FROM user_table WHERE username = "admin01";

结果是

uid   |   username   |   password
---------------------------------------
1001  |   admin01    |   lakK4wAsln@ZGK
2001  |   mod01      |   jb#0NAL837AjLj

如您所见,出现了 mod01,而我的查询是显示用户名为“admin01”的条目。我尝试删除该表并创建一个新表,但它的输出仍然相同。我希望有人能帮助我。谢谢

最佳答案

WHERE 子句只适用于最后一个 UNION。

这个怎么样:
SELECT * FROM admin_table WHERE username = "admin01"
联盟
SELECT * FROM moderator_table WHERE username = "admin01"
联盟
SELECT * FROM user_table WHERE username = "admin01"

关于php - MySQL UNION SELECT 3 表错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31364276/

相关文章:

java - 我们可以将查询得到的记录存储到存储过程中的列表中吗?

MySQL 1005 错误

Sqlite 联合和排序顺序

mysql - 优化其他连接的 select 语句内的 union join

MySQL - ORDER BY 与 UNION 的一部分

php - 排序步骤和子步骤

php - Docker没有实时反射(reflect)变化(Laravel)

php - 前端的 Ajax 和 WordPress - 数据库未更新

PHP 查询过滤多对多 MySQL

php - 我的 MySQL 数据库被删除,我认为这是 SQL 注入(inject),我哪里错了?