[英]MYSQL optimisation in a JOIN query where ON condition returns multiple rows
[英]Join query codeigniter with where condition returns all rows
这是我的联接查询,用于从两个表中获取数据。
$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
条件,它仅返回一行,但它将返回所有符合联接条件的行。
好像我的条件在这里不执行。
请帮我
$ ref =是什么,应该大致提取多少个结果? 省略位置会得到什么? 如果得到完整的结果,则一定是$ ref值有问题,或者就是结果。
请注意,您不需要选择(*),这是默认设置,如果这只是出于示例的原因,对不起。 您还可以将-> from(whaterver_table)添加到-> get(whatever_table)中。无论如何,您都需要添加-> get(),所以为什么不删除-> from()行,只是选择了可读性,但是我做到了不知道您可以做一会儿,所以以为id将其添加到我的答案中。
或另一个解决问题的途径是联接是否应该作为第三个参数“左”。 IE浏览器总是有联接吗?
正如Anant所建议的那样,更改语句中的位置或联接不会有任何区别。
$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();
永远在最后
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.