我有一张桌子让我们假设它有三列1> emailid,2> orderno,3>日期
========================================
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正在重复,日期也是。您可以假定每个客户的每行,特定日期没有订单。
现在我想要什么
我想要像
这样的结果 ===================================================
emailid | 2013-07-01 |2013-08-01|
====================================================
asd@abc.com | 2 |1 |
----------------------------------------------------
xyz@abc.com | 2 |2 |
----------------------------------------------------
我尝试了很多东西,在select中使用了union .sp.etc。 首先我是一个sp,制作一个临时表数周,打开一个游标并按条件插入临时表。 但是b / c需要很长时间才能执行。 当我使用IF时它不起作用。 我不能写我的查询b / c表不是那么简单。
所以我需要一个带IF的select查询,因为在oracle中有老化报告。 在此先感谢。
答案 0 :(得分:0)
数据透视表可以解决您的问题
这是一个关于如何实现这种用例的教程: http://www.artfulsoftware.com/infotree/queries.php#78