Как объединить SQL запросы

151
22 октября 2018, 13:20

очень прошу помочь, буду очень и очень благодарен.

Пытаюсь в Опенкарт 2 в модели объединить получение айдишников по атрибутам с получением данных товаров

пока у меня реализовано через циклы

//получаю список товаров имеющие определенное значение атрибута
$query = $this->db->query("SELECT * FROM `os_product_attribute` WHERE `attribute_id` = '$att_id' and `text` = '$ImportAttValue'");
$product_ids = $query->rows; //тут имеем массив айдишников товаров
//получаю переменную $product_id = $product_ids['product_id'];

Потом я через foreach разбираю список товаров по $product_id

    $sql = "SELECT p.*, pd.* FROM `os_product` `p` LEFT JOIN `os_product_description` `pd` ON p.product_id = pd.product_id WHERE p.product_id = '$product_id'";
$query = $this->db->query($sql); //массив данных товаров

Как можно объединить эти 2 SQL запроса? Чтобы и получить айдишники ($product_id) и получить данные товаров сразу в одном массиве

Я себе представляю корявенько как-то так, но знаний не хватает без ошибок (плхо разбираюсь в синтаксисе sql):

SELECT p.*, pd.* FROM `os_product` `p` LEFT JOIN `os_product_description` `os_product_attribute` `pd` ON p.product_id = pd.product_id WHERE p.product_id = '$product_id' and `attribute_id` = '$att_id' and `text` = '$ImportAttValue'"
Answer 1

Навскидку так:

SELECT *
FROM os_product p 
/* LEFT */ JOIN os_product_description pd ON p.product_id = pd.product_id 
JOIN os_product_attribute pa ON p.product_id = pa.product_id
WHERE pa.attribute_id = '$att_id' 
  AND pa.text = '$ImportAttValue'
READ ALSO
Где нужно в Repository подать другой Persistence по условию?

Где нужно в Repository подать другой Persistence по условию?

Репозиторий осуществляет выборку данных по средством PersistenceЕсть два Persistence

132
Записать COOKIE на сайте для другого домена

Записать COOKIE на сайте для другого домена

Есть файл gophp, в котром стоит перенаправление на другой сайт

148
Добавление числа в int json

Добавление числа в int json

Как можно это реализовать?

118
Как сделать запрос для получения всех объявлений с определенными тегами в Laravel?

Как сделать запрос для получения всех объявлений с определенными тегами в Laravel?

У меня есть модель объявлений Ad, модель тегов Tag и реализованная связь 'многие ко многим' между ними

150