【发布时间】:2017-12-18 01:42:17
【问题描述】:
我有 2 个表,我尝试加入以将 2 个表与 codeigniter 组合,但是当我创建查询连接时,由于数据再次不在另一个表中,所以没有出现数据,我该如何解决这个问题??
tbl_fruit
_______________
| id | fruit |
|----|--------|
| 0 | manggo |
| 1 | apple |
| 2 | banana |
| 3 | orange |
| 4 | avocado|
tbl_proc
_______________
| id | proc |
|----|--------|
| 0 | juice |
| 1 | blend |
| 2 | shake |
tbl_master
____________________________________
| id | id_fruit | id_proc | client |
|----|----------|---------|---------|
| 0 | 2 | | | //How display on join
| 1 | 1 | 2 | nana |
| 2 | 3 | 2 | george |
| 3 | 4 | 0 | smith |
| 4 | 0 | | billy | //How display on join
| 5 | 2 | 1 | Jack |
tbl_result
----------------------------------------
| no | name fruit | name proc | client |
|----|------------|-----------|--------|
| 0 | apple | shake | nana |
| 1 | orange | shake | george |
| 2 | avocado | juice | smith |
| 3 | banana | blend | smith |
$query = $this->db->select('*')
->from('tb_result')
->join('tb_fruit', 'tb_fruit.id = tb_result.id_fruit')
->join('tb_proc', 'tb_proc.id = tb_result.id_proc')
->get();
return $query->result();
如何在tbl_master上显示在其他表中没有数据但在join中的表中出现的数据?
【问题讨论】:
-
解决问题的方法是使用 Riyenz 回答中给出的左连接。在此之前,您可以参考stackoverflow.com/questions/5706437/… 链接以简要说明何时使用 which joins。到目前为止非常好的答案。我最喜欢了。希望你能从中得到帮助。
-
@prabhu,谢谢你的建议,在我使用 JOIN LEFT 但只有一个表之前,它应该与我们指定的表匹配,这已经解决了
标签: php mysql codeigniter codeigniter-3