0

我正在使用以下查询,

SELECT 
b.sales_id,b.category_id,a.bus_title,b.sales_title,b.sale_starts,b.sale_ends 
FROM tbl_sales b INNER JOIN tbl_business a 
ON a.bus_id=b.bus_id 
WHERE b.active=1 
AND CURDATE( ) < DATE_ADD(b.sale_ends, INTERVAL 14 DAY ) 
AND b.category_id='16' OR b.category_id 
IN (SELECT cat_id FROM tb_category WHERE parent_id=16) 
ORDER BY (b.sale_ends=CURDATE()) DESC,(b.sale_ends>CURDATE()) DESC,b.sale_ends ASC

并得到如下所示的结果,

sales_id  | category_id |bus_title   | sales_title|sale_starts|sale_ends 
----------|-------------|------------|------------|-----------|----------
 36       |   17        |  my bus    | my sale    |2012-04-03 |2012-05-03  
 35       |   19        |  my bus 1  | my sale 1  |2012-04-03 |2012-05-03
 42       |   16        |  my bus 12 | my sale 12 |2012-04-05 |2012-05-05
 10       |   17        |  my bus 123| my sale 123|2011-12-15 |2011-12-18

我需要在X amount of days past the End Date(14 天后)之后省略(而不是删除)销售。但是我上面写的 MySQL 查询返回错误的结果并显示带有 End Date 的记录2011-12-18。我怎样才能以有效的方式编写查询。

需要帮忙。提前致谢。

4

1 回答 1

0

将此添加到您的查询中:

   AND sale_ends < DATE_SUB(NOW(), INTERVAL 14 day)
于 2012-04-16T08:02:36.863 回答