2016-12-16 102 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(); –

相关问题