SQL,检查组之间是否存在对话

时间:2016-04-27 19:54:22

标签: mysql

我正在尝试检查一组用户ID之间是否存在对话,然后返回conversation_id

对话

+----+---------+------------+
| ID |  name   | created_at |
+----+---------+------------+
|  1 | Group 1 | datetime   |
|  2 | Group 2 | datetime   |
+----+---------+------------+

conversation_user

+----+-----------------+---------+
| ID | conversation_id | user_id |
+----+-----------------+---------+
|  1 |               1 |       9 |
|  2 |               1 |       8 |
|  3 |               1 |       7 |
|  4 |               2 |       9 |
|  5 |               2 |       6 |
+----+-----------------+---------+

所以说我有一系列用户ID [9,8,7],这会返回1

的conversation_id

如果我有一个用户ID数组[8,6],那么当对话不存在时,这将返回空。

但是如果我有一个用户ID [9,7]数组,这将返回空,因为这两个用户之间的对话也不存在。

我尝试过这个SQL查询的差异:

SELECT conversation_id FROM conversation_user WHERE user_id IN (9,8,7) GROUP BY conversation_id

我正在努力让这个查询正确。如果有人能提供帮助那就太棒了。

由于

0 个答案:

没有答案