我正在为我的游戏服务器制作一些东西并禁止自定义网站。
我有禁止表(禁止时间,原因,禁止玩家,禁止管理员等)被禁止的玩家和禁止管理员字段都使用存储在另一个表中的玩家ID。
我知道如何加入桌子,但我无法弄清楚如何区分被禁玩家和管理员,桌子基本上就像:
信息表:
some info field| more info | more info| player_id | creator_id
info info | info info | info info| 1 | 2
info info | info info | info info| 3 | 2
info info | info info | info info| 5 | 4
球员表:
id | name
1 | john
2 | steve
3 | sally
4 | bob
5 | jack
玩家ID是被禁止的玩家,创建者是管理员,管理员或玩家的所有名称都存储在玩家表中。我想要的是有一个页面,显示被禁止的玩家,禁令的原因,禁止管理员和时间
答案 0 :(得分:1)
您可以尝试:
SELECT
info1,
info2,
p1.name AS player_name,
p2.name AS admin_name
FROM more_infos mi
JOIN players p1 ON p1.id = mi.player_id
JOIN players p2 ON p2.id = mi.creator_id;
答案 1 :(得分:1)
您需要两次加入玩家表 - 一次是禁止用户(玩家),一次是禁令创建者(管理员),如下:
SELECT info.*, player.name, admin.name
FROM info
JOIN players player ON player.id = info.player_id
JOIN players admin ON admin.id = info.creator_id
答案 2 :(得分:0)
SELECT j1.name banned_player, j2.name admin
FROM info_table it
JOIN players j1 ON j1.id = it.player_id
JOIN players j2 ON j2.id = it.creator_id
试一试。