Я искал в Интернете в течение дня, и ничто, кажется, не работает и не помогает мне.Как присоединиться к одной таблице с другой таблицей несколько раз?
У меня есть таблица со списком пользователей и их идентификаторов и другая таблица, представляющая пользователей, запрещающих использование другого пользователя. Я вставляю идентификаторы пользователя в таблицу запретов вместо своих имен, потому что я хочу нормализовать свою базу данных.
Моя пользовательская таблица выглядит следующим образом:
CREATE TABLE IF NOT EXISTS `ids` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(32) NOT NULL
) ENGINE = INNODB;
И мой стол Запреты выглядит следующим образом:
CREATE TABLE IF NOT EXISTS `bans` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`banner_id` INT UNSIGNED,
`banned_id` INT UNSIGNED NOT NULL,
`reason` VARCHAR(256) DEFAULT NULL
) ENGINE = INNODB;
Я хочу, чтобы сделать выбор все для моей таблицы запретов, но есть это легко удобочитаемый. В идеале это будет выглядеть примерно так:
+-------------+-------------+-----------+
| banner_name | banned_name | reason |
+-------------+-------------+-----------+
| person A | person B | being bad |
...
Но я не могу достичь этого результата. Я могу получить только 2/3rds результата с этим:
SELECT ids.name AS banner_name, bans.reason
FROM bans LEFT JOIN (ids) ON (bans.banner_id = ids.id);
Однако, добавив, что другой столбец имя оказалось сложным для меня. This выглядит подобный вопрос, но при попытке следовать примеру я получаю что-то вдоль линий
ERROR 1054 (42S22): Unknown column 'ids.name' in 'field list'
или какой-либо другой ошибки синтаксиса.
Благодарим за понимание!