构建查询以从特定用户获取信息

时间:2015-05-11 20:07:05

标签: sql

我正在用三张桌子建立聊天。

对话,Conversation_reply和用户

对话列

  1. ID
  2. user_one
  3. user_two
  4. Conversation_reply列

    1. ID
    2. USER_ID
    3. conversation.id
    4. 回复
    5. 用户列

      1. ID
      2. 用户名
      3. 我想使用与特定用户聊天的用户的名称来构建一个列表。

        例如,我的身份证是711,而我正和三个人交谈,我想从这三个人那里获得用户名。

        我在构建此查询时遇到一些问题,因为user_one和user_two是相对的,来自接收器的ID有时可以作为user_one或user_two插入。这取决于哪个用户首先开始聊天。

        如何构建查询来执行此操作?

        感谢。

1 个答案:

答案 0 :(得分:1)

根据您的RDBMS,您可以检查IF / ELSE,CASE / WHEN语法。 在此基础上你写下声明:

SELECT if (user_one=711) user_two ELSE user_one
FROM conversation
where user_one=711 OR user_two=711

这是伪代码,但想法应该清楚。