как запросить таблицу соединений - PullRequest
0 голосов
/ 03 ноября 2019

у меня есть 2 таблицы, подобные этой

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

я хочу bans.accounts и bans.admin шоу accounts.username у меня естьзапрос, подобный этому

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

и полученный результат

Naufal|NULL|1.1.1.1|1|hayo ketauan|2017-01-17 20:05:5

я хочу, чтобы это понравилось

Naufal|1.1.1.1|frans|hayo ketauan|2017-01-17 20:05:5

Я запутался в запросе.

1 Ответ

0 голосов
/ 03 ноября 2019

Чтобы получить имя пользователя администратора, вам нужно JOIN к таблице accounts во второй раз, используя значение admin таблицы bans. Это должно работать:

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`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...