@corsik
Разработчик

Mysql объединение запросом 2 таблиц?

Подскажите, банальный запрос, есть 2 таблицы в одной элементы в другой изображения для них.
Если делаю такой запрос :
$qTests = 'SELECT e.id, e.name, e.detail_text, e.status, i.path, i.description '
                . 'FROM oc_iblock_elements AS e, oc_iblock_image AS i '
                . 'WHERE e.id = i.element_id AND iblock_id=2 AND status=1 '
                . 'ORDER BY e.name ASC, e.id ASC';

То получаю несколько повторных массивов с разными изображениями.
А на до, чтобы у каждого массива с данными был свой подмассив изображени. С помощью mysql это возможно?
Или делать 2 разных запроса и сливать массивы?

Как мне сделать запрос, чтобы получить массив типа
[0] => Array
        (
            [id] => 12
            [name] => Название
            [detail_text] => описание
            [status] => 1
            [image] => array(
                              array[0](
                                [path] => catalog/home_banners/planing-big.png
                                [description] => Планингра
                               )
                               array[1](
                                [path] => catalog/home_banners/planing-big.png
                                [description] => Планингра
                                )
)

        )
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 2
T_y_l_e_r
@T_y_l_e_r
В уме не провести эксперимент, во всяком случае мне
Я бы использовал LEFT JOIN и GROUP BY и встроенными SELECT

Ведь можно получить большую табличку с одинаковыми id и массив сформировать с помощью php - это самое простое и на скорость не повлияет.
Ответ написан
Комментировать
@corsik Автор вопроса
Разработчик
Это надо перебирать массивы полученные. Быстрее один запрос.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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