У меня есть набор из нескольких таблиц (общий обзор):
Brand;
+--------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| id | tinyint(10) | NO | PRI | NULL | |
| name | varchar(255) | NO | | NULL | |
+--------------------+--------------+------+-----+---------+-------+
Relations;
+--------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| id1 | tinyint(10) | NO | PRI | NULL | |
| id2 | tinyint(10) | NO | PRI | NULL | |
+--------------------+--------------+------+-----+---------+-------+
Country;
+--------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| id | tinyint(10) | NO | PRI | NULL | |
| name | varchar(255) | NO | | NULL | |
+--------------------+--------------+------+-----+---------+-------+
City;
+--------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| id | tinyint(10) | NO | PRI | NULL | |
| name | varchar(255) | NO | | NULL | |
+--------------------+--------------+------+-----+---------+-------+
Каждая строка имеет уникальный идентификатор.Каждая строка в таблице брендов имеет отношение к стране и городу.Отношения между этими таблицами хранятся в таблице отношений, поэтому для каждой строки бренда в таблице отношений есть две строки.
Я пытаюсь получить название бренда, название страны и название города для данногоидентификатор брендаЯ могу выбрать эти отношения по отдельности, но моя цель - сделать это (если возможно) в одном запросе.
Я могу получить одно из отношений (страна), но хочуполучить город также:
SELECT Brand.name as brand, Country.name as country
FROM Brand
LEFT JOIN _relations
ON Relations.id1 = Brand.id
INNER JOIN Country
ON Country.id = Relations.id2
WHERE Brand.id = '123456';
Результат:
+-----------+-------------+
| brand | country |
+-----------+-------------+
| brandname | countryname |
+-----------+-------------+
Моя цель - получить:
+-----------+-------------+-------------+
| brand | country | city |
+-----------+-------------+-------------+
| brandname | countryname | cityname |
+-----------+-------------+-------------+
Может кто-нибудь помочь мне с этим или указать мнев правильном направлении?