我没有要求在下面的方式来检索数据周基于计数
Weeks delay_count
0 6
1 0
2 3
3 4
4 0
5 1
6 0
7 0
8 0
9 0
10 2
11 0
12 0
13 0
14 0
15 3
这里周是硬编码的列0至15和delay_count是派生列。我有一列delay_weeks
。基于此列中的值,我需要填充delay_count
列(派生列)中的值
delay_weeks
列值在下面。
blank
blank
blank
2
10
5
blank
3
2
10
2
3
3
3
0
0
15
22
29
条件:
- 当
delay_weeks
为空白或0,那么在delay_count
列计数应为1 - 当
delay_weeks
是3,那么在delay_count
列计数应为13周下 - 当
delay_weeks
为10时,则在delay_count
列中计数应该在第10周时为1 - 当
delay_weeks
大于或等于15然后在delay_count
列中的数应1周下15.
我写像下面
SELECT "Weeks", a."delay_count"
FROM (SELECT LEVEL AS "Weeks"
FROM DUAL
CONNECT BY LEVEL <= 15) m,
(SELECT VALUE, COUNT (VALUE) AS "delay_numbers"
FROM (SELECT CASE
WHEN attr11.VALUE >= 15
THEN '15'
ELSE attr11.VALUE
END
VALUE
FROM docs,
(SELECT object_id, VALUE, attribute_type_id
FROM ATTRIBUTES
WHERE attribute_type_id =
(SELECT attribute_type_id
FROM attribute_types
WHERE name_display_code =
'ATTRIBUTE_TYPE.DELAY IN WEEKS')) attr11
WHERE docs.obj_id = attr11.object_id(+)
GROUP BY VALUE) a
WHERE m."Weeks" = a.VALUE(+)
代码
您有具体问题吗?这些是你的要求,但你的编程问题是什么? – 2013-04-05 14:24:48
嗨约翰,我有一个叫Delay的报告。在这份报告中我需要数周和延迟计数。 – ravt 2013-04-05 14:28:23
这并不能回答John的问题。你试过了什么?本网站旨在帮助解决特定的编程问题,而不是为您编写代码。你需要至少展示一些努力。 – 2013-04-05 14:30:20