Php 如何查询联接表

Php 如何查询联接表,php,mysql,join,Php,Mysql,Join,我有两张这样的桌子 accounts ------------- id| username| password| email| date bans ------------- id| accounts| ip| admin| reason| date| 5|NULL|0|1|hayo ketauan|2017-01-17 20:05:5 SELECT `accounts`.`username`, `bans`.`ip`, `bans`.`admin`, `bans`.`reason`, `

我有两张这样的桌子

accounts
-------------
id|
username|
password|
email|
date

bans
-------------
id|
accounts|
ip|
admin|
reason|
date|
5|NULL|0|1|hayo ketauan|2017-01-17 20:05:5
SELECT `accounts`.`username`, `bans`.`ip`, `bans`.`admin`, `bans`.`reason`, `bans`.`date` 
FROM `accounts` 
INNER JOIN `bans`
  ON `accounts`.`id` = `bans`.`account`
Naufal|1.1.1.1|frans|hayo ketauan|2017-01-17 20:05:5
例如,在禁令上显示这样的结果

accounts
-------------
id|
username|
password|
email|
date

bans
-------------
id|
accounts|
ip|
admin|
reason|
date|
5|NULL|0|1|hayo ketauan|2017-01-17 20:05:5
SELECT `accounts`.`username`, `bans`.`ip`, `bans`.`admin`, `bans`.`reason`, `bans`.`date` 
FROM `accounts` 
INNER JOIN `bans`
  ON `accounts`.`id` = `bans`.`account`
Naufal|1.1.1.1|frans|hayo ketauan|2017-01-17 20:05:5
我想要
bans.accounts
bans.admin
显示
accounts.username
我有这样的疑问

accounts
-------------
id|
username|
password|
email|
date

bans
-------------
id|
accounts|
ip|
admin|
reason|
date|
5|NULL|0|1|hayo ketauan|2017-01-17 20:05:5
SELECT `accounts`.`username`, `bans`.`ip`, `bans`.`admin`, `bans`.`reason`, `bans`.`date` 
FROM `accounts` 
INNER JOIN `bans`
  ON `accounts`.`id` = `bans`.`account`
Naufal|1.1.1.1|frans|hayo ketauan|2017-01-17 20:05:5
结果呢,

Naufal|NULL|1.1.1.1|1|hayo ketauan|2017-01-17 20:05:5
我想喜欢这个

accounts
-------------
id|
username|
password|
email|
date

bans
-------------
id|
accounts|
ip|
admin|
reason|
date|
5|NULL|0|1|hayo ketauan|2017-01-17 20:05:5
SELECT `accounts`.`username`, `bans`.`ip`, `bans`.`admin`, `bans`.`reason`, `bans`.`date` 
FROM `accounts` 
INNER JOIN `bans`
  ON `accounts`.`id` = `bans`.`account`
Naufal|1.1.1.1|frans|hayo ketauan|2017-01-17 20:05:5

我对查询感到困惑。

要获取管理员的用户名,您需要使用
bans
表的
admin
值第二次将
加入
accounts
表。这应该起作用:

SELECT `a1`.`username`, `bans`.`ip`, `a2`.`username` AS admin, `bans`.`reason`, `bans`.`date` 
FROM `accounts` `a1`
INNER JOIN `bans` ON `a1`.`id` = `bans`.`account`
INNER JOIN `accounts` `a2` ON `a2`.`id` = `bans`.`admin`

需要一些表格数据的例子。你的一排禁令似乎与你的领域不匹配。根据给出的信息,你认为我们可以帮助你神奇地将结果从第一排转到第二排吗?啊,我的眼睛受伤了。这项工作非常感谢尼克。我还在学习mysql。谢谢你的帮助。@ErwanWidayat别担心,我很高兴能帮上忙。如果这确实解决了你的问题,请考虑标记接受的答案(在上/下投票箭头下的复选标记)。看到@草莓太多回纹(只是复制OP的风格)?或者你觉得有什么需要改进的地方吗?