【问题标题】:SQL obtain users who have received o send a messages (UPDATE)SQL 获取已收到发送消息的用户(UPDATE)
【发布时间】:2021-07-29 08:28:30
【问题描述】:
SELECT * 
FROM users 
WHERE NOT unique_id = {$outgoing_id} 
  and unique_id in (select outgoing_msg_id 
                    from messages 
                    WHERE incoming_msg_id={$outgoing_id})  
                    ORDER BY user_id DESC);

有关数据库和表的更多信息:I need to get the list of users who have previously been sent message (MySQL)(这是另一个问题,但大致相同)

【问题讨论】:

  • 你想准确地展示什么?我不懂问题
  • 你的问题是什么? PS。你真的认为有人会从 Q 跳到 Q 来解决你的问题吗?完全发布所需的数据。聚苯乙烯。子查询中的 ORDER BY 没有意义。
  • 您需要选择收到您消息的用户吗?
  • 在另一篇文章中我解释得更好
  • 但是我把它放在另一个帖子中,因为其中一个回答的用户说我应该创建其他帖子

标签: php mysql sql


【解决方案1】:

已解决:

SELECT * FROM users WHERE NOT unique_id = "337244286" and unique_id in (
SELECT outgoing_msg_id FROm messages WHERE incoming_msg_id="337244286") 
UNION 
SELECT * FROM users WHERE NOT unique_id = "337244286" and unique_id in (select incoming_msg_id from messages WHERE outgoing_msg_id="337244286")

【讨论】:

    【解决方案2】:

    以用户 id 1 为例,我是这样做的:

    SELECT 
      first_name 
    FROM 
      users 
      LEFT JOIN messages received_messages ON received_messages.from_id = 1 
      AND received_messages.to_id = users.id 
      LEFT JOIN messages sent_messages ON sent_messages.from_id = users.id 
      AND sent_messages.to_id = 1 
    WHERE 
      received_messages.id IS NOT NULL 
      OR sent_messages.id IS NOT NULL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 2019-02-27
      • 1970-01-01
      相关资源
      最近更新 更多