Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL之间没有';不包括最长日期_Mysql_Sql_Date_Between - Fatal编程技术网

MYSQL之间没有';不包括最长日期

MYSQL之间没有';不包括最长日期,mysql,sql,date,between,Mysql,Sql,Date,Between,首先,我对格式很抱歉。这是我第一次,我真的不知道如何在这里展示桌子 这是我的语法: SELECT order.id, order.begin, order.end, report.id, DATE_FORMAT( report.add_date, '%Y-%m-%d' ) AS report_add_date, sums.id, sums.qty FROM order, report, sums WHERE (report.add_date BETWEEN order.begin A

首先,我对格式很抱歉。这是我第一次,我真的不知道如何在这里展示桌子

这是我的语法:

SELECT order.id, order.begin, order.end, report.id, 
   DATE_FORMAT( report.add_date, '%Y-%m-%d' ) AS report_add_date, sums.id, sums.qty 
FROM order, report, sums 
WHERE (report.add_date BETWEEN order.begin AND order.end) 
  AND (report.id = sums.id) 
ORDER BY order.id ASC
它给出了以下结果:

order.id | order.begin | order.end  | report.id | report.add_date | sums.id | sums.qty
     255 | 2013-10-21  | 2013-10-22 | 390       | 2013-10-21      | 390     | 250
     256 | 2013-10-22  | 2013-10-23 | 393       | 2013-10-22      | 393     | 385
最终结果应如下所示:

order.id | order.begin | order.end  | report.id | report.add_date | sums.id | sums.qty
     255 | 2013-10-21  | 2013-10-22 | 390       | 2013-10-21      | 390     | 250
     255 | 2013-10-21  | 2013-10-22 | 393       | 2013-10-22      | 393     | 385
     256 | 2013-10-22  | 2013-10-23 | 393       | 2013-10-22      | 393     | 385
希望您能看到,我正在尝试获取所有order.id的所有sums.qty,其中report.add\u date介于order.begin和order.end date之间

共有3个表格:订单、报告和金额。 订单包含范围日期(开始-结束)。报告包含日期(添加日期)。Sums包含数量,它与按id报告相关

Order.id 255应获得2013-10-21和2013-10-22之间日期的所有SUMMS.qty

Order.id 256应获取2013-10-22和2013-10-23之间日期的所有SUMMS.qty

第一个没有得到2013-10-22日期的sums.qty,因为这一个转到了后者

据我所知,它不重复行,所以它只显示每一行。因此,当下一个order.id从上一个order.id的结束日期开始时,它停止将report.id分配给上一个order.id


我做错了什么?提前谢谢你

我猜
add_date
是一个
DATETIME
,在
之间的
标准中,您没有将其转换为
日期。日期的时间为0,因此,尽管
介于
之间的时间包含在内,但如果附加了非零时间部分,则不会包含相同的日期

我还建议切换到显式连接,因为隐式连接已被弃用多年。

当然,它确实有效:)谢谢!我对显式连接知之甚少(需要重新教育自己)。您能在这一次将此连接转换为显式连接吗?干杯