在 SQL 中显示消息列表

黑暗骑士

我想显示像 facebook messenger 这样的消息列表,在左下角你可以看到你所做的所有消息。

用户表

user_id
user_firstname
user_latsname

消息表

message_id
message_user_id
message_to_user_id
message_content
message_time_stamp

我的 SQL

SELECT user_table.user_id,
             CONCAT(user_table.user_firstname,' ',user_table.user_lastname) AS user_fullname,
             message_table.message_user_id,
             message_table.message_content,
             message_table.message_time_stamp
      FROM user_table
      INNER JOIN message_table
      ON user_table.user_id = message_table.message_user_id
      WHERE (message_table.message_to_user_id = '$session')
      ORDER BY message_table.message_time_stamp DESC

如果有人先给我发消息,我的代码就可以正常工作。它在我的消息列表中显示有人给我发消息。但是当我是第一个发消息的人时。它没有显示在我的消息列表中。他应该先回复我的消息,然后我才能在我的消息列表中看到它。但我想显示何时有人给我发消息,以及我是第一个发消息的人。

带有示例数据的 message_table

带有示例数据的 user_table

结果

但是当我在 user_table 中添加新用户并向他发送消息时。它不会显示在我的消息列表中。

我希望我的预期结果是当我向新用户发送消息时,它将显示在我的消息列表中

黑暗骑士

解决方案

SELECT user_id, user_fullname, message_content
FROM
(
        (SELECT user_table.user_id,
                 CONCAT(user_table.user_firstname,' ',user_table.user_lastname) AS user_fullname,
                 message_table.message_user_id,
                 message_table.message_content,
                 message_table.message_time_stamp
          FROM user_table
          INNER JOIN message_table
          ON user_table.user_id = message_table.message_to_user_id
          WHERE (message_table.message_user_id = '$session')

        )ORDER BY message_time_stamp DESC

UNION DISTINCT

        (SELECT user_table.user_id,
                 CONCAT(user_table.user_firstname,' ',user_table.user_lastname) AS user_fullname,
                 message_table.message_user_id,
                 message_table.message_content,
                 message_table.message_time_stamp
          FROM user_table
          INNER JOIN message_table
          ON user_table.user_id = message_table.message_user_id
          WHERE (message_table.message_to_user_id = '$session')

         )ORDER BY message_time_stamp DESC

) as id GROUP BY user_id ORDER BY message_time_stamp DESC

这是我在我的问题中所做的解决方案。我做了 2 个 select 语句,其中第一个 select 只选择我是发送第一条消息的人,第二个 select 语句选择有人第一次给我发消息的地方。然后我联合它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法在 SQL 中显示正确的列表

来自分类Dev

在php中插入sql查询后如何显示正确的消息?

来自分类Dev

检查值是否在SQL Server数据库中,并在消息中显示

来自分类Dev

SQL-上次对话消息列表

来自分类Dev

我希望我从SQL返回的内容显示在C#的消息框中

来自分类Dev

在SQL中显示TIME

来自分类Dev

如何在C#的消息框中显示3层应用程序中SQL异常(唯一标识符)的错误消息?

来自分类Dev

如果jsp中的调色板(数据库报告)生成的sql语句没有结果,如何显示错误消息

来自分类Dev

如果jsp中的调色板(数据库报告)生成的sql语句没有结果,如何显示错误消息

来自分类Dev

如何在三层应用程序的C#消息框中显示有关SQL异常(唯一标识符)的错误消息?

来自分类Dev

在视图的错误列表中显示重复的错误消息:Laravel 5

来自分类Dev

在消息框中显示选择的复选框列表问题

来自分类Dev

在列表中显示许多变量的消息框

来自分类Dev

如果下拉列表在MVC中为空,如何显示消息?

来自分类Dev

如何在下拉列表中显示SQL TABLE IN HTML clicking

来自分类Dev

显示客户端名称列表的好方法是什么-SQL中的访问报告

来自分类Dev

如何在下拉列表中显示SQL TABLE IN HTML clicking

来自分类Dev

如何在下拉列表中显示 sql 表(php、html)

来自分类Dev

显示来自SQL Server的图像列表

来自分类Dev

消息表中的复杂 SQL 选择查询

来自分类Dev

返回分组消息中的最后一条消息SQL

来自分类Dev

LINQ to SQL中的嵌套列表

来自分类Dev

在SQL查询中调用列表

来自分类Dev

SQL在选择列表中无效

来自分类Dev

IN列表中的SQL动态绑定

来自分类Dev

遍历sql中的动态列表

来自分类Dev

LINQ to SQL中的嵌套列表

来自分类Dev

删除sql中的组列表

来自分类Dev

插入后SQL Server存储过程显示消息

Related 相关文章

  1. 1

    无法在 SQL 中显示正确的列表

  2. 2

    在php中插入sql查询后如何显示正确的消息?

  3. 3

    检查值是否在SQL Server数据库中,并在消息中显示

  4. 4

    SQL-上次对话消息列表

  5. 5

    我希望我从SQL返回的内容显示在C#的消息框中

  6. 6

    在SQL中显示TIME

  7. 7

    如何在C#的消息框中显示3层应用程序中SQL异常(唯一标识符)的错误消息?

  8. 8

    如果jsp中的调色板(数据库报告)生成的sql语句没有结果,如何显示错误消息

  9. 9

    如果jsp中的调色板(数据库报告)生成的sql语句没有结果,如何显示错误消息

  10. 10

    如何在三层应用程序的C#消息框中显示有关SQL异常(唯一标识符)的错误消息?

  11. 11

    在视图的错误列表中显示重复的错误消息:Laravel 5

  12. 12

    在消息框中显示选择的复选框列表问题

  13. 13

    在列表中显示许多变量的消息框

  14. 14

    如果下拉列表在MVC中为空,如何显示消息?

  15. 15

    如何在下拉列表中显示SQL TABLE IN HTML clicking

  16. 16

    显示客户端名称列表的好方法是什么-SQL中的访问报告

  17. 17

    如何在下拉列表中显示SQL TABLE IN HTML clicking

  18. 18

    如何在下拉列表中显示 sql 表(php、html)

  19. 19

    显示来自SQL Server的图像列表

  20. 20

    消息表中的复杂 SQL 选择查询

  21. 21

    返回分组消息中的最后一条消息SQL

  22. 22

    LINQ to SQL中的嵌套列表

  23. 23

    在SQL查询中调用列表

  24. 24

    SQL在选择列表中无效

  25. 25

    IN列表中的SQL动态绑定

  26. 26

    遍历sql中的动态列表

  27. 27

    LINQ to SQL中的嵌套列表

  28. 28

    删除sql中的组列表

  29. 29

    插入后SQL Server存储过程显示消息

热门标签

归档