@kolomat

Как при выборке с таблицы выбрать две строки и сделать свои алиасы?

Добрый вечер, извеняюсь за вопрос, не смог правильно сформулировать. Суть в чем.
Есть запрос
$db->query("SELECT p.product_id, pd.name, pd.description, pd.language_id FROM product p LEFT JOIN product_description pd ON (p.product_id = pd.product_id )");


В таблице product_description 2 будет две строки. В одной будет описание на английском (language_id=1) и во второй на русском (language_id = 2).

[1] => Array
                (
                    [product_id] => 2509
                    [name] => Блокнот для флипчарта Axent, 30 листов, чистый 8064-А
                    [description] => <p>Блокнот отрывной для флип-чарта. Чистый. 30 листов</p>
                    [language_id] => 1
                )

            [2] => Array
                (
                    [product_id] => 2509
                    [name] => Блокнот для флипчарта Axent, 30 листов, чистый 8064-А
                    [description] => <p>Блокнот отрывной для флип-чарта. Чистый. 30 листов</p>
                    [language_id] => 2
                )

Такого плана. А можно ли как то одни запросом получить один массив где например будет нечто подобное
[1] => Array
                (
                    [product_id] => 2509
                    [name_ru] => Блокнот для флипчарта Axent, 30 листов, чистый 8064-А
                    [name_en] => Блокнот для флипчарта Axent, 30 листов, чистый 8064-А
                    [description_ru] => <p>Блокнот отрывной для флип-чарта. Чистый. 30 листов</p>
                    [description_en] => <p>Блокнот отрывной для флип-чарта. Чистый. 30 листов</p>
                )

Буду признателен за любую помощь. Спасибо!
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
$db->query("SELECT p.product_id, pd1.name as name_ru, pd2.name as name_en, pd1.description as description_ru, pd2.description as description_en 
FROM product p 
LEFT JOIN product_description pd1 ON p.product_id = pd1.product_id AND pd1.language_id = 1 
LEFT JOIN product_description pd2 ON p.product_id = pd2.product_id AND pd2.language_id = 2 
GROUP BY p.product_id"
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы