【发布时间】:2020-01-25 10:49:32
【问题描述】:
我有两个名为“users”的 MySQL 表
id name role
1 Mark 1
2 David 2
3 Donald 1
4 Harry 1
并命名为“事件”
id date user_id
1 2020-02-01 1
2 2020-02-01 3
3 2020-02-01 2
4 2020-02-04 1
5 2020-02-01 4
说明:用户可以制作事件。如果用户发起事件,de 事件会自动获取发起该事件的用户的 user_id。所以在 users 中的 id 列和 events 中的 user_id 列之间是有联系的。
我的问题:我已经有一个过滤器选项来搜索特定日期的事件,但我想将此查询与您还可以过滤用户角色的查询结合起来。因此,如果我过滤日期:2020-02-01 和角色:1,则它与下一个相呼应:
id date user_id
1 2020-02-01 1
2 2020-02-01 3
5 2020-02-01 4
我该怎么做?
我已经尝试过 UNION 功能,但不起作用:
$query = "SELECT * FROM events WHERE date = '$date' UNION SELECT * FROM users WHERE role = '$role'";
提前非常感谢!
【问题讨论】:
-
你想加入两个有条件的表吗?
-
见meta.stackoverflow.com/questions/333952/…。另外,请参阅 sql 注入以及准备和绑定查询的重要性
-
请提供accounts表结构及其与users表的关系
-
@Bergin 是的,你是对的。
-
@SlavaRozhnev 抱歉我打错了。
标签: mysql