Как написать запрос mysql ИЛИ используя codeigniter - PullRequest
1 голос
/ 06 октября 2019

У меня есть таблица продуктов с именем продукта и столбцом внешнего ключа, названным как подкатегория. Я хочу получить продукт на основе идентификатора подкатегории и имени продукта, используя или условие в методе запроса codeigniter. Я написал запрос для этого, но он получает две записи, но мне нужнонапример, только одна запись у нас есть таблица:

 productid   product  subcategory

    1       A           1

    2       A           3

    3       B           3

$ var = "некоторое значение из формы (1 или 3)";

case 1: if product = 'A' и подкатегория($ var) = 1 или подкатегория ($ var) = 3, тогда он должен получить запись с productid = 1

case2: если product = 'A' и подкатегория ($ var) = 2 или подкатегория ($ var) = 3, тогда он должен получить запись для productid = 2, потому что мы используем или обусловливаем, что он должен проверить 1 или 3

запрос, который я использовал, извлекает две записи, но мне нужна только одна запись, если подкатегория =1 или 3

Запрос:

$this->db->where('product', 'A');
$where = '(subcategory="1" or subcategory = "3")';           
$this->db->where($where);
$this->db->get('product');
$query = $gsm_pricing = $query->row();

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

Попробуйте использовать "group by productid" в вашем запросе

0 голосов
/ 06 октября 2019

Этот запрос решил мою проблему

  $this->db->query(select * from product where product='A' 
  and subcategory='1' 
  union all 
  select * from product where product='A' and subcategory='3' 
  and not exists(select 1 from product where subcategory='1' and prodduct='A'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...