2016-12-16 134 views
1

我需要從我的數據庫中獲取結果。我有兩個表「旅行」和「航空公司」,我想從旅行表得到所有列的結果(「id」,「name」,「airline_name」,「price」,「via」 )和航空公司基於列(「id」,「name」,「logo」)的第二張表。從一個表中獲取所有列的值,並從第二個表中獲取其他列的值

我想要得到名稱與travel_name中的airline_name相同的「logo」。

我該怎麼辦?我應該使用連接嗎?到目前爲止我的查詢是:

$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」具有相同的值?或者,您的意思是「名稱」與「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') 

添加到您的型號Function.and得到它的控制器

和foreach; $ this-> db-> join('airlines a','a.logo = t.airline_name');

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

編輯 $ 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(); –

相關問題