我正在尝试检查一组用户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
如果我有一个用户ID数组[8,6]
,那么当对话不存在时,这将返回空。
但是如果我有一个用户ID [9,7]
数组,这将返回空,因为这两个用户之间的对话也不存在。
我尝试过这个SQL查询的差异:
SELECT conversation_id FROM conversation_user WHERE user_id IN (9,8,7) GROUP BY conversation_id
我正在努力让这个查询正确。如果有人能提供帮助那就太棒了。
由于