用于HP ALM的SQL查询以获取完整的需求路径

时间:2014-10-17 08:27:19

标签: sql qc alm

我有一个SQL Server ALM项目。我需要一个查询,以完整路径提取所有需求,最多可以包含四个级别,包括需求名称。

由于我在SQL Server上,我无法使用Oracle提供的工具(这使得这很容易)。查询必须在ALM中运行。

到目前为止,我所拥有的只是:

SELECT distinct RQ_REQ_ID AS "Int Req ID",
REQ.RQ_REQ_NAME AS "Req ID",
REQ.RQ_REQ_REVIEWED as "Req Status",
REQ.RQ_REQ_STATUS AS "Req Coverage"
FROM REQ
WHERE RQ_TYPE_ID != 1
ORDER BY RQ_REQ_NAME

任何人都可以填写声明,以便它包含完整的要求路径吗?

由于

1 个答案:

答案 0 :(得分:0)

好吧,我正在工作,它是假期,我已经完成了我的项目,是的,我已经看到这是一个oracle查询,并且有一些简单但我在SQL中工作了一点。这是一个完整的hack查询,它用oracle编写,但概念是一样的。

SELECT distinct RQ_REQ_ID AS "Int Req ID",
 r.RQ_REQ_NAME AS "Req ID",
 r.RQ_REQ_REVIEWED as "Req Status",
 r.RQ_REQ_STATUS AS "Req Coverage",
 r.rq_req_path,
 (select rq_req_name from req where rq_req_path = substr(r.rq_req_path, 1, 3))
 || '/' ||
 (select rq_req_name from req where rq_req_path = substr(r.rq_req_path, 1, 6))
 || '/' ||
 (select rq_req_name from req where rq_req_path = substr(r.rq_req_path, 1, 9))
FROM REQ r
WHERE RQ_TYPE_ID != 1
ORDER BY RQ_REQ_NAME

你会想要&而不是||你可能不得不在返回时做一些演员/转换操作。我之所以这样做的原因是爬行rq_req_path并且向下迭代有点......在SQL Server中不受欢迎。

我所做的是找到了RQ_REQ_PATH的最大长度,并且只添加了n个连接。之后,剥离额外的/很容易。

我完全肯定有一个更好,更清洁的方式,但如果其他人正在考虑这个,这应该是一个起点,如果它是一次性报告,这工作正常。