【问题标题】:Select rows with same value on other field在其他字段中选择具有相同值的行
【发布时间】:2014-06-08 12:23:02
【问题描述】:

所以,我有一个实体(我正在使用 symfony)Participant

在这个实体中我有:idaccount_idconversation_id

account_idUser对象,conversation_idConversation对象,都是外键。

首先,我需要知道 user1 和 user2 是否在同一个对话中。 在我需要知道 user1, user2.... userN 是否在同一个对话中之后。

我不知道如何简单地通过查询来做到这一点?谢谢!

【问题讨论】:

  • 您需要获取特定对话中的用户列表,对吧?
  • 我需要知道两个或更多用户是否在同一个对话中。我没有对话对象,我需要知道创建新对话或使用现有的

标签: php sql symfony


【解决方案1】:
SELECT
   n.*
FROM
   Participant n JOIN
(
  SELECT 
      t.conversation_id
  FROM
      Participant t
  WHERE 
          t.user_id = 'user1' 
      AND 
          t.conversation_id = (SELECT conversation_id FROM Participant WHERE user_id = 'user2' AND conversation_id = t.conversation_id)
) m on m.conversation_id = n.conversation_id

【讨论】:

  • 我不明白...我的第二个用户在哪里?
  • 我有这个错误:错误:作为表达式的子查询返回了不止一行,因为(SELECT conversation_id FROM Participant WHERE user_id = 'user2')我认为可以返回很多结果
  • @Clément Andraud:现在检查。我没有考虑到 user2 可以有多个对话 :)
  • 我现在需要为 symfony 翻译... ^^
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-23
相关资源
最近更新 更多