【发布时间】:2014-11-04 01:09:44
【问题描述】:
我有两张桌子.. 一张用于玩家的会话.. 一张用于玩家的角色。我无法更改表格记录数据的方式..所以我必须使用这些。最终,我正在尝试创建一个“谁在线”列表,并且需要一些帮助来弄清楚如何对它们进行排序。
帐户会话(如果此列表中存在一行,则帐户已登录)
----------------------
| accountid | charid |
----------------------
| 1001 | 2001 |
----------------------
| 1004 | 2006 |
----------------------
| 1002 | 2003 |
----------------------
字符(显示所有活跃或不活跃的字符)
------------------------------------
| charid | accountid | charname |
------------------------------------
| 1001 | 2001 | user1 |
------------------------------------
| 1002 | 2001 | user2 |
------------------------------------
| 1003 | 2002 | user3 |
------------------------------------
| 1004 | 2002 | user4 |
------------------------------------
| 1005 | 2003 | user5 |
------------------------------------
| 1006 | 2004 | user6 |
------------------------------------
我正在尝试通过在线订购,然后是角色名称。所以根据这些表格..我想要这样的打印输出:
在线 用户1 用户3 用户6
离线 用户2 用户4 用户5
当它使用两个表并按第二个表字符名称排序时,我使用什么查询来打印出类似的数据......以及它们是否在线 - 来自两个不同表的两种不同排序?
如果会话表中有角色名称.. 它会让这一切变得容易得多.. 但我不认为我可以自己更改它。 :( 有什么帮助吗?
【问题讨论】:
-
你的charid和accountid在两张表中翻转
-
这就是他们在表格中的样子。有一个显示帐户的会话表 - 纯粹是为了确定他们是否已登录以及他们正在玩哪个角色。然后字符表显示有关该字符的附加信息。即使我切换了两列..仍然不知道如何按照我想要的方式对它们进行排序。
标签: php mysql select sql-order-by union