gpt4 book ai didi

php - 如何从两个日期之间堆叠的表中获取所有行?

转载 作者:行者123 更新时间:2023-11-30 22:53:47 28 4
gpt4 key购买 nike

我的问题是如何从堆叠在两个日期之间的表中获取所有行。

这是我的查询:

   $sql = "SELECT cars.brand,cars.model,cars.reg_num,cars.horse_powers,cars.color FROM cars INNER JOIN clients_cars ON cars.id=clients_cars.cars_id WHERE cars.id IN 
(SELECT DISTINCT clients_cars.cars_id FROM clients_cars WHERE (rent_date between '$d1' AND '$d2') AND (return_date between '$d1' AND '$d2') AND ((return_date > '$d1') OR (rent_date < '$d2')))";

这是有效的,但它只完成了我希望的一半。

这是我的 table :

enter image description here

我想显示在两个日期之间租用的所有汽车,即使其中一个日期与另一个日期重叠而另一个日期不重叠。

例如,我添加了 2014-12-04 和 2014-12-13,它只显示了 id=5 的汽车。它应该向我显示 id=8 的汽车,因为它已经在 2014-12-02 租用并将在 2014-12-06 归还并且应该向我显示 id=2 的汽车,因为该汽车将从 2014-12- 10 他一直在找车,直到 2014-12-13...

我希望你能理解我。我需要一些帮助 :)

最佳答案

试试这个 sql:

      $sql = "SELECT cars.brand,cars.model,cars.reg_num,cars.horse_powers,cars.color FROM cars LEFT JOIN clients_cars ON cars.id=clients_cars.cars_id  
WHERE (rent_date between '$d1' AND '$d2') OR (return_date between '$d1' AND '$d2')";

关于php - 如何从两个日期之间堆叠的表中获取所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27270997/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com