【发布时间】:2012-11-27 18:45:30
【问题描述】:
我有一个如下表customer_order
mysql> select * from customer_order;
+---------+---------+-----------+------------------+----------------+
| cust_id | orderno | region_cd | order_start_date |order_del_date |
+---------+---------+-----------+------------------+----------------+
| CU_082 | ONO_001 | reg1 | 2012-04-25 | 2012-08-25 |
| CU_082 | ONO_002 | reg1 | 2012-04-28 | 2012-11-28 |
| CU_083 | ONO_002 | reg2 | 2012-04-28 | 2012-11-28 |
| CU_082 | ONO_003 | reg1 | 2012-04-25 | 2012-08-25 |
| CU_084 | ONO_004 | reg4 | 2012-04-25 | 2012-10-25 |
我需要一张这样的桌子……我得到……如下
mysql> select order_start_date,order_del_date,orderno,cust_id from customer_order wh
ere order_start_date >= '2012-04-25' AND order_del_date <='2012-12-28' and cust_i
d IN ('36082','36088') order by cust_id ;
+------------------+----------------+---------+---------+
| order_start_date | order_del_date | pid | emp_id |
+------------------+----------------+---------+---------+
| 2012-04-25 | 2012-05-25 | ONO_001 | CU_082 |
| 2012-08-22 | 2012-12-28 | ONO_004 | CU_082 |
| 2012-06-22 | 2012-08-28 | ONO_003 | CU_082 |
| 2012-05-27 | 2012-06-25 | ONO_002 | CU_082 |
| 2012-04-25 | 2012-05-25 | ONO_001 | CU_082 |
| 2012-05-27 | 2012-06-25 | ONO_001 | CU_082 |
| 2012-04-30 | 2012-06-25 | ONO_001 | CU_088 |
| 2012-06-28 | 2012-07-15 | ONO_002 | CU_088 |
| 2012-07-28 | 2012-08-25 | ONO_003 | CU_088 |
| 2012-07-16 | 2012-09-25 | ONO_004 | CU_088 |
+------------------+----------------+---------+---------+
现在我需要查询这张表... 要得到 对于这里的每个客户,我们在上表中获取从 wat 日期到 wat 日期期间的数据他的订单处理详细信息.. 现在对于每个客户,我会找到没有订单处理的时间段......
例如cust_id =CU_088
他的订单从 4 月 30 日到 6 月 25 日处理
6 月 28 日至 7 月 15 日的书房
(这里的 thr 是一个差异,即 thr 是在 6 月 26 日至 27 日期间未采取任何订单或进行任何处理..这是所需的结果)
**另一个考虑因素是...
在下一个条目中,我们发现 thr 是从 7 月 28 日到 8 月 25 日的订单流程
w.r.t 之前的条目,即 6 月 28 日至 7 月 15 日,我们发现对于该客户,7 月 16 日至 27 日期间没有接受或处理订单。
但是最后一个条目是 7 月 16 日到 9 月 25 日,他有一个不同 order_no 的订单,因为这里填补了 7 月 16 日到 7 月 27 日的空白,所以这种情况也需要检查......
我需要得到这样的输出..
+------------------+----------------+---------+---------+
| order_start_date | order_del_date | pid | emp_id |
+------------------+----------------+---------+---------+
| 2012-06-26 | 2012-06-27 | ONO_001 | CU_088 |
+------------------+----------------+---------+---------+
那是更有效的查询或程序应该给我在 thr 期间没有为客户执行任何操作... 帮我编写完成上述所有操作的查询。
我是数据库查询的新手..所以请帮帮我..
【问题讨论】:
-
表格中是否有 6 月 26 日至 27 日的记录?
标签: mysql