我正在尝试创建一个将生成下表的查询。我知道列名(即每列的开始和结束日期。这些日期将根据月份/年份而有所不同。此外,列的数量也会有所不同,因为有些月份可能有6周)。
池的数量也可能有所不同。池的数量可以是'n‘。因此我为每个池(行)和每周(列)创建了一个查询。
假设有3个池(3行)和5周(5列),我可能需要运行3*5=15查询。
有没有办法创建一个查询来解决这个问题?
有人能帮我解决这个问题吗?
我还在做这件事。
--------------------------------------------------
row 0 | week1 | week2 | week3 | week4 | week5 |
st-end|jan1 -2|jan 3-9|jan10-17|jan18-24|jan25-31|
--------------------------------------------------
pool a| 100 | 105 | 309 | 345 | 234 |
pool b| 106 | 108 | 399 | 245 | 214 |
pool c| 120 | 145 | 359 | 365 | 274 |
-------------------------------------------------- 发布于 2013-01-18 02:27:54
你有没有尝试过使用CASE表达式呢?请参阅“控制流函数”,内容大致如下:
select POOL
,sum(case when dt between 20120101 and 20120107 then VAL else 0) as Wk1
,sum(case when dt between 20120108 and 20120114 then VAL else 0) as Wk2
... ...
from MY_TABLE
group by POOLhttps://stackoverflow.com/questions/14374789
复制相似问题