2016-02-05 4 views
2

Я хотел бы присоединиться к 2 таблицам, но в другой таблице нет записи.Codeigniter SQL-запрос нет записей в другой таблице

Например
имени Таблица: shop_items

  • shop_item_id
  • shop_item_sk
  • shop_item_name имя

Стол: item_reviews

  • item_review_id
  • item_review_sk
  • item_review_desc
  • item_review_rate
  • shop_item_sk
  • item_review_by

Проблема в том, что это детали пункт не отображается, если он не имеет никаких записей в the item_reviews table

это мой SQL заявление

$query = $this->db->select('*') 
    ->from('shop_items') 
    ->join('item_reviews', 'shop_items.shop_item_sk=item_reviews.shop_item_sk','inner') 
    ->where('shop_items.shop_item_sk',$id) 
    ->limit(1) 
    ->get(); 
    return $query->result(); 

Я исследовал о UNION, но я не знаю, как использовать его в Codeigniter. Благодарим вас за тех, кто может мне помочь.

ответ

3

Использовать левое внешнее соединение. Здесь таблица shop_items - это левая таблица join item_reviews с ней.

+0

спасибо Sharmistha Das. –

+0

Что делать, если мне нужен AVG (item_review_rate) и count (item_review_id), где я его помещаю? –

+0

Не беспокойтесь, я это сделал .. большое вам спасибо –

0

Возможно, с левой стороны?

$query = $this->db->select('*') 
->from('shop_items') 
->join('item_reviews', 'shop_items.shop_item_sk=item_reviews.shop_item_sk','left') 
->where('shop_items.shop_item_sk',$id) 
->limit(1) 
->get(); 
return $query->result(); 
+0

его не работает .. –

Смежные вопросы