Codeigniter SQL查询其他表

时间:2016-02-05 18:22:20

标签: php mysql codeigniter

我想加入2个表,但另一个表中没有记录。

例如
表名: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();

我研究了UNION,但我不知道如何在Codeigniter中使用它。 感谢那些能帮助我的人。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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();