Задать вопрос
@mir546
creator

Как в одном mysql запросе дополнить данные первой таблицы данными из второй таблицы?

Есть две таблицы
item
id | name | color
1 | Апельсин | желтый
2 | Яблоко | красное
3 | Груша | зелёная

photo
id | id_item | name_file_jpg
1 | 1 | wauhmaifml
2 | 1 | wmacawowa
3 | 1 | mdv21kmzxi
4 | 2 | wauhawffml
5 | 3 | nalwfjnawfb
6 | 3 | cijxx9pb8jxa

Как из этих таблиц получить полный вывод первой таблицы item и в дополнении только первую запись поля name_file_jpg из второй таблицы?
То есть должно получиться что-то в стиле
id | name | color | name_file_jpg
1 | Апельсин | желтый | wauhmaifml
2 | Яблоко | красное | wauhawffml
3 | Груша | зелёная | nalwfjnawfb
  • Вопрос задан
  • 188 просмотров
Подписаться 1 Оценить 1 комментарий
Решения вопроса 2
@mir546 Автор вопроса
creator
Плохо гуглил.
Нужно сделать вот так
SELECT id, name, color, name_file_jpg FROM item, photo  WHERE id_item = id GROUP BY id;
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SELECT `i`.`id`, `i`.`name`, `i`.`color`, `p`.`name_file_jpg`
  FROM `item` AS `i`
  LEFT JOIN (
    SELECT `id_item`, MIN(`id`) AS `min`
      FROM `photo`
      GROP BY `id_item`
  ) AS `m` ON `m`.`id_item` = `i`.`id`
  LEFT JOIN `photo` AS `p` ON `p`.`id` = `m`.`min`
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы