为措辞不当的问题道歉。
我有两张表,分别称为conversations和conversation_users。每个对话都可以有多个用户。字段如下:
对话
- conv_id
- conv_author_id
- 转换日期
对话用户
- cu_id
- cu_conv_id
- cu_user_id
现在,为了避免与相同用户的重复对话。我想检查是否已经存在与 ID 为 12 和 25 的用户的对话。如果存在,我希望获取该对话的 ID。
我该如何构造一个查询来做到这一点?
我想检查是否已经与 ID 为 12 和 25 的用户进行了对话。
您可以使用EXISTS
:
SELECT CASE WHEN EXISTS
(
SELECT 1 FROM conversation_users cu
WHERE cu.cu_conv_id = c.conv_id
AND cu.cu_user_id IN (12, 25)
) THEN 'Yes, these users are in this conversation'
ELSE 'This conversation is between different users' END AS Result
FROM conversations c