2016-12-16 1 views
1

데이터베이스에서 결과를 가져와야합니다.한 테이블에서 모든 열의 값을 가져 와서 두 번째 테이블에서 다른 열의 값을 가져옵니다.

두 개의 테이블 "travels"과 "airlines"가 있고 travel 테이블에서 "id", "name", "airline_name", "price", "via"의 모든 열의 결과를 얻고 싶습니다.) 및 열 ("id", "name", "logo")을 기반으로하는 항공사 인 두 번째 테이블에서 가져온 것입니다.

travel 테이블에서 airline_name과 동일한 "로고"를 얻고 싶습니다.

어떻게해야합니까? 조인을 사용해야합니까 ?? 지금까지 내 쿼리 :

$this->db->select(); 
$this->db->from('travels'); 
$this->db->join('airlines', 'travels.airline_name = airlines.name','inner'); 
$this->db->group_by('travels.destination'); 

나는 CodeIgniter를 사용하고 있습니다.

+0

항공기의 "로고"필드는 여행 테이블의 "airline_name"과 같은 값입니까? 아니면 "name"이 "airline_name"과 동일한 값을 갖고 로고를 가져오고 싶습니까? – Twinfriends

답변

0
SELECT 
    t.id, 
    t.name, 
    t.airline_name, 
    t.price, 
    t.via, 
    a.logo 
FROM travels AS t 
    INNER JOIN airlines AS a ON (t.airline_name = a.logo); 
+0

이 코드 단편은 질문을 해결할 수 있지만 [http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers]는 게시물의 품질을 향상시키는 데 정말로 도움이됩니다. 앞으로 독자의 질문에 답하고 있으며 코드 제안의 이유를 알지 못할 수도 있습니다. – DimaSan

+0

로고 이미지의 확장자가 항공사 이름과 일치하지 않는다는 의심의 여지가 있습니다. – kishor10d

1

보기

$this->db->select('t.id','t.name','t.airline_name','t.price','t.via', 'a.logo as a_logo') 

을에에 컨트롤러

과의 Foreach에 모델이 추가 Function.and을 얻으십시오; $ this-> db-> join ('airlines a', 'a.logo = t.airline_name');

$query = $this->db->get('travels t'); 
$query->return->result_array(); 
+0

EDIT $ this-> db-> select ('p.id', 'p.name', 'a.logo as airlinelogo'); $ this-> db-> join ('airlines a', a.logo = p.airline_name '); $ query = $ this-> db-> get ('travel p'); $ query-> return -> result_array(); –

관련 문제