我正在从名为guildmembers的表中提取访问权限,公会名称




...以及另一个名为玩家的表格中的ID,级别,玩家等级



这是我的SQL语句:

SELECT guildmembers.access,guildmembers.guildid,guildmembers.name,players.id,players.level,players.playerclass
从公会成员,球员
按guildmembers.name,players.playerclass排序


这就是回报。



这就是我所需要的。



任何想法如何做到这一点?

最佳答案

您需要做的是一个join语句。当前,您正在告诉sql仅显示两个表中的所有结果。您只想在结果匹配的地方显示结果,为此您可以使用join语句。

SELECT guildmembers.access, guildmembers.guildid, guildmembers.name, players.id, players.level, players.playerclass
FROM guildmembers join players on guildmembers.pid=players.id
ORDER BY guildmembers.name, players.playerclass


guildmembers.pidplayers.id是两个表中的公用字段,因此您可以将它们连接到这些表上。

http://www.w3schools.com/sql/sql_join.asp

为了使它更容易理解和理解,在两个表中都有一个共同的字段名称。然后,您可以使用它来加入,这更有意义。

希望对您有所帮助。

08-04 13:02