2016-12-16 19 views
1

私のデータベースから結果を取得する必要があります。1つのテーブルからすべてのカラムの値を取得し、2番目のテーブルから他のカラムの値を取得する

私は2つのテーブル「旅行」と「航空会社」を持っています。旅行用テーブルから "id"、 "name"、 "airline_name"、 "price"、 "via" )、列に基づく航空会社である第2の表(「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

航空会社のフィールド「ロゴ」は旅行テーブルの「航空会社名」と同じ値ですか?あるいは、あなたは "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(); –

関連する問題