我有一个表让我们假设它有三列 1> emailid, 2> orderno, 3> date
========================================
orderno | emailid | date |
=========================================
1 |asd@abc.com | 2013-07-20|
-------------------------------------------
2 |asd@abc.com | 2013-07-20|
-------------------------------------------
4 |asd@abc.com | 2013-08-25|
-------------------------------------------
5 |xyz@abc.com | 2013-07-23|
-------------------------------------------
6 |xyz@abc.com | 2013-07-23|
-------------------------------------------
9 |xyz@abc.com | 2013-08-26|
-------------------------------------------
11 |xyz@abc.com | 2013-08-26|
-------------------------------------------
................................................表格包含上述类型的数据. 表示 emailid 是重复的,并且 date 也是重复的。您可以假设每个客户的每一行,并且在特定日期没有订单。
现在我想要什么
我想要这样的结果
===================================================
emailid | 2013-07-01 |2013-08-01|
====================================================
asd@abc.com | 2 |1 |
----------------------------------------------------
xyz@abc.com | 2 |2 |
----------------------------------------------------
我已经尝试了很多东西,通过使用 if in select , union .sp.etc。首先,我写了一个 sp,制作了一个几周的临时表,打开一个游标并按条件插入到临时表中。但是花很长时间执行的 b/c 并不好。当我使用 IF 时,它不起作用。我不能写我的查询 b/c 表不是那么简单。
所以我需要一个带有 IF 的选择查询,因为在 oracle 中有老化报告。提前致谢。