从一个表中获取所有列的值,并从第二个表中获取其他列的值
问题描述:
我需要从我的数据库中获取结果。我有两个表“旅行”和“航空公司”,我想从旅行表得到所有列的结果(“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。
答
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);
答
在你看来
$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(); –
只是为了确保我理解正确:来自航空公司的字段“徽标”与旅行表中的“airline_name”具有相同的值?或者,您的意思是“名称”与“airline_name”具有相同的值,您想要获得徽标? – Twinfriends