我使用Quality Center跟踪缺陷,我相信它使用MSSQL语言。 我有一个表,其中包含以下字段:defectID,摘要,应用程序,严重性,状态,createDate,closedDate。将涵盖相关领域。SQL语句跟踪每天按应用程序打开的缺陷数
defectID application severity createDate closedDate
-------- ----------- -------- ---------- ---------
1 app1 sev1 3/10/2010 3/23/2010
2 app1 sev1 3/15/2010 3/23/2010
3 app2 sev1 3/14/2010 3/25/2010
4 app1 sev2 3/18/2010 3/24/2010
5 app1 sev1 3/15/2010 3/19/2010
6 app1 sev1 3/25/2010
我需要SQL来输出给定日期打开的sev1缺陷的数量。我想提供日期范围。这是输出样本?其中一些在SQL我将确定的3/22开始日期和3/26
application 3/22 3/23 3/24 3/25 3/26
---------------------------------------
app1 3 1 0 1 1
app2 1 1 1 0 0
的结束日期如果应用为是水平(表去对面)和日期必须是垂直的(名单下去)这很好。任何帮助表示赞赏。
@ OMG-Ponies - 它不考虑未结案日期。像这样: SUM(CASE WHEN'3/22/2010'BETWEEN t.createdate AND coalesce(t.closedate,'3/22/2010')THEN 1 ELSE 0 END)AS“3/22”, – msi77 2010-06-05 09:51:03
感谢您的回复,我正在通过解决方案。有一个标准我忘了说明,如果缺陷是3/22和3/23的sev3,然后在3/24上升到sev1。所以,当我运行3/24或任何一天之后的SQL时,它将在3/22和3/23的计数中包含该缺陷。为了解决这个问题,我想我必须找出如何在包括那天的计数之前检查sev在那一天的情况。我有一个表格,它记录了更改日期,缺陷编号,现场更改,旧值和新值的审计历史记录。 – user358866 2010-06-06 19:18:36
虽然试图弄清楚,但我的大脑因过载而关闭,这就是为什么我花了一段时间来回应。我很感激帮助,它让我非常接近。现在,我只需要考虑这个标准。任何帮助,非常感谢。 – user358866 2010-06-06 19:18:54