1
我想联合选择3个表:admin_table,moderator_table,user_table。MySQL联合选择3表错误
三者共享相同的列:uid,用户名,密码。
这里是他们的内容。
admin_table
uid | username | password
---------------------------------------
1001 | admin01 | [email protected]
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 | [email protected]
2001 | mod01 | jb#0NAL837AjLj
,你可以看到MOD01正在出现,而我的查询语句,以显示与用户名的条目是'admin01'..我已经尝试删除表格并创建一个新的表格,但它仍然执行相同的输出。我希望有人能帮助我。谢谢
您正在选择版主表中没有where子句的所有内容。最后的where子句适用于第三个查询(仅在user_table上),它们联合在一起,这就是停止添加user01条目 – amdixon
我明白了。我试了一下,它的工作。猜我看的指南缺乏信息。谢谢先生:) –
你确定你需要3个单独的表吗? – Strawberry