2017-12-18 11 views
0

2 개의 테이블이 있고 2 개의 테이블을 codeigniter와 결합하려고 시도하지만 쿼리 결합을 만들면 데이터가 나타나지 않기 때문에 나타나지 않습니다 다른 테이블 다시, 어떻게이 문제를 해결할 수 있습니까 ??join 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에 데이터를 표시하는?

+0

솔루션으로 사용자의 참여 기능

$query = $this->db->select('*') ->from('tbl_master') ->join('tbl_fruit', 'tbl_fruit.id = tbl_master.id_fruit', 'left') ->join('tbl_proc', 'tbl_proc.id = tbl_master.id_proc', 'left') ->get(); return $query->result(); 

그것은 결과를해야한다의 세 번째 매개 변수에 가입하는 것은 Riyenz 응답에 주어진 가입 왼쪽으로 사용하고 있습니다. 그 전에 https://stackoverflow.com/questions/5706437/whats-the-difference-between-inner-join-left-join-right-join-andfulful-join 링크를 참조하여 간단한 설명을 얻을 수 있습니다. 어떤 조인을 사용해야하는지. 지금까지 아주 좋은 답변. 나는 가장 마음에 들었다. 희망을 가지고 도움을 얻을 수 있습니다. – Prabhu

+0

@prabhu, 그의 제안을 주셔서 감사합니다, 전에 LEFT하지만 오직 하나의 테이블을 사용하여, 우리가 지정하는 테이블과 일치해야합니다 그리고 이것은 이미 해결 된 –

답변

1

(왼쪽)이 문제에 대한이 SQLFIDDLE

+0

고마워요, 그 두 사용 LEFT, 내가 전에 JOIN LEFT 테이블을 하나만 사용하면됩니다. –