首页 > 解决方案 > 最后添加的日期未显示在表格中

问题描述

为什么它没有显示我上次添加的销售额?在我的表数据中,我添加了日期为 2021-01-19 的销售额,但在执行查询后,日期为 2021-01-19 的数据未显示。我试过这个 <= 但我得到了相同的结果。当我将第二个值“2021-01-19”更改为“2021-01-20”时,它会显示带有 2021-01-19 的行。

我的表: 表数据

我的查询:

SELECT tsd.sales_so, tsd.sales_dr, tsd.sales_si, tsd.sales_po, tsd.sales_date, tsd.sales_company, tsd.sales_particulars, tsd.sales_net_amount, SUM(tsp.payment_amount) AS amount_paid, tsp.payment_date, tsd.sales_balance, tsp.payment_remarks 
FROM tbl_sales_details AS tsd 
LEFT JOIN tbl_sales_payments AS tsp ON tsd.sales_id = tsp.sales_id 
WHERE (tsd.sales_date >= '2021-01-01' AND tsd.sales_date < '2021-01-19') 
GROUP BY tsd.sales_id

结果: 表查询

标签: mysqlsql

解决方案


比较日期和日期时间字段时,比较使用日期时间类型。这意味着当您遇到以下情况时:

WHERE tsd.sales_date < '2021-01-19'

你在现实中的情况变成:

WHERE tsd.sales_date < '2021-01-19 00:00:00'

显然,19日的每个时间点都会超出你的比较范围。如果您也想包括 2021-01-19 的一整天,那么您需要检查范围是否小于第二天。例如

WHERE tsd.sales_date < '2021-01-20'

推荐阅读