我有一个实现消息系统。 我的问题是,我想知道一个用户是否已经与另一个用户有一个线程,如果有,中间值是多少
我有一个 messages_recips 表,看起来像这样
---------------------------
| mid | seq | uid | status|
|--------------------------
| 4 | 1 | 1 | A |
| 4 | 1 | 2 | A |
---------------------------
如果用户 ID 1 有一个用户 ID 为 2 的线程,我将保留 2 行具有相同的中间值。 我知道我可以创建 2 个 sql 来实现我的要求,但我正在尝试在 1 个 sql 中完成。
最佳答案
如 Waqar Janjua 所述,关键是自连接查询:
SELECT m1.mid
FROM messages_recips AS m1
JOIN messages_recips AS m2 ON m1.mid = m2.mid
WHERE m1.uid = 1
AND m2.uid = 2
关于mysql在select中选择一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11482940/