2016-02-05 60 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

的问题是,当它没有任何记录其项目详细信息不会出现item_reviews表

这是我的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(); 

我研究了关于联盟,但我不知道如何在笨使用它。 高级谢谢你能帮助我的人。

回答

3

使用左外连接。这里的shop_items表是左表加入item_reviews与它。

+0

谢谢Sharmistha达斯。 –

+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

其不工作.. –

相关问题