MySQL, соединяющий таблицы, полная путаница

Я постараюсь объяснить это как можно яснее, не путая себя еще дальше …

2 таблицы: «Продукты» и «Бренды». Продукты имеют уникальный идентификатор «strId» и бренды «intId».

Я пытаюсь отобразить выпадающий список доступных брендов, проверяя товары на складе в таблице товаров; это следующая часть, которую я не могу понять правильно … посчитать соответствующие продукты, чтобы я мог отобразить так:

Марка 1 (4 товара на складе), Марка 2 (12 товаров на складе), Марка 3 (9 товаров на складе) и т. Д.

public function test()
{
$this->db->select('*');
$this->db->from('products p');
$this->db->join('brands b', 'p.my_brand = b.my_brand', 'right');
$this->db->join("(SELECT COUNT(strId) AS count_strId, strId FROM products WHERE in_stock = 'yes' GROUP BY strId) ij", "p.strId = ij.strId", "left");
$this->db->where('p.in_stock', 'yes');
$this->db->group_by('b.intId');
$this->db->order_by('b.my_brand');
$query = $this->db->get('');
return $query->result();
}

Я действительно не могу найти правильную комбинацию объединений в этом запросе — кто-нибудь советует? Очень признателен!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]