Php 有问题的是CodeIgniter中的SQL选择
链锯切割机的总数量=30 我已于19年10月10日至19年10月12日预订了20台链锯切割机 30-20=10 我已于19年10月13日至19年10月16日第二次预订了10台链锯切割机 我已于19年10月13日至19年10月16日第三次预订了10台链锯切割机 30-20=10 当我从19年10月11日到19年10月14日搜索链锯切割器时,它给出负值,但实际上应该给出10个链锯切割器Php 有问题的是CodeIgniter中的SQL选择,php,mysql,codeigniter,Php,Mysql,Codeigniter,链锯切割机的总数量=30 我已于19年10月10日至19年10月12日预订了20台链锯切割机 30-20=10 我已于19年10月13日至19年10月16日第二次预订了10台链锯切割机 我已于19年10月13日至19年10月16日第三次预订了10台链锯切割机 30-20=10 当我从19年10月11日到19年10月14日搜索链锯切割器时,它给出负值,但实际上应该给出10个链锯切割器 // Model $sql="SELECT p.product_id,p.product,p.qty - (SE
// Model
$sql="SELECT p.product_id,p.product,p.qty - (SELECT COALESCE(SUM(r.qty),0) AS total_booking FROM reserve as r WHERE r.to_dt > '".$search['from_dt']."' AND r.from_dt < '".$search['to_dt']."' AND r.product_id=p.product_id) AS avl_qty FROM product as p";
$query=$this->db->query($sql);
return $query->result_array();
储备表
产品表
更新:
我已将日期格式化为与数据库日期格式相匹配的格式,没有问题。您也可以分享您的请求日期格式吗?您的问题与您的表格不匹配,请澄清:我从19年10月3日至19年10月5日第一次预订了20台链锯机,在您的表格中显示为2019-10-10至2019-10-12,哪个是正确的?$search['from_dt']看起来怎么样?很抱歉。我已经更新了这个问题。我刚刚再次研究了这个问题:在10-11到10-14期间,您的预订量40多于数量30,因此输出为-10,看起来您的查询是正确的……那么,是否可以在多个时间段中查询并找到可用数量?