У меня есть эти две таблицы:MySQL - как присоединиться к таблице дважды с одной и той же таблицы
Главная:
id | name | hair_color | eye_color
1 | a | 1 | 2
2 | b | 1 | 3
3 | c | 4 | 3
Items:
id | name
1 | black
2 | blue
3 | green
4 | blonde
Я хочу, чтобы выбрать одну строку из Главная таблица, но замените идентификаторы hair_color и eye_color по их имени, которое соответствует таблице Items.
Я имею в виду, для строки номер 1 в главной таблице, я хочу, чтобы получить это детали:
$res = array(
id=>1,
name=>'a',
hair_color=>'black',
eye_color=>'blue');
Я попытался это неправильный запрос MySQL:
SELECT `main`.`id`, `main`.`name`, `items`.`name` as `hair_color`, `items`.`name` as `eye_color`
FROM `main`
LEFT JOIN `items` ON `main`.`hair_color` = `items`.`id
LEFT JOIN `items` ON `main`.`eye_color` = `items`.`id
WHERE `main`.`id` = 1
Я знаю, что этот запрос неверен , но я не знаю, как это сделать правильно.
Любая идея?
Благодаря
EDIT:
Спасибо всем!
выглядит Allright, просто дайте таблицам псевдоним (имя): 'LEFT JOIN элементов it1 ON main.color = it1.color' и то же для второго один, но назовите его it2 или что-то – Nanne
Можете ли вы опубликовать схему? –