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的风格)?或者你觉得有什么需要改进的地方吗?