这是我从两个表中获取数据的连接查询。
$this->db->select('*');
$this->db->from('george_hotel_bkd_customers');
$this->db->where('george_hotel_bookings.bookingref',$ref);
$this->db->join('george_hotel_bookings', 'george_hotel_bookings.user_id = george_hotel_bkd_customers.user_id');
$query = $this->db->get();
根据我的where
条件,它只返回一行,但它将返回匹配连接条件的所有行。
好像我在这里没有执行条件。
请帮帮我
答案 0 :(得分:0)
$ ref =有多少结果应该大致上升? 当你省略哪里时你会得到什么?如果你得到完整的结果,那么必须是$ ref值的问题,或者,这就是结果。
只是一个注释,你不需要选择(*),这是默认的,如果这只是为了举个例子,抱歉收拾。您还可以将 - >从(whaterver_table)添加到 - > get(whatever_table)无论如何您需要添加 - > gt; get(),所以为什么不删除 - > from()行,只需选择可读性,但我没有意识到你可以暂时这样做,所以我想把它添加到我的答案中。
或者另一个问题解决路径是连接是否应该被“左”作为第3个arg。 IE总是有加入吗?
如Anant建议的那样,改变声明中的位置或连接不会有任何区别
答案 1 :(得分:0)
$this->db->select('*');
$this->db->from('george_hotel_bkd_customers');
$this->db->join('george_hotel_bookings', 'george_hotel_bookings.user_id = george_hotel_bkd_customers.user_id');
$this->db->where('george_hotel_bookings.bookingref',$ref);
$query = $this->db->get();
总是在哪里