我有一个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
任何人都可以填写声明,以便它包含完整的要求路径吗?
由于
答案 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个连接。之后,剥离额外的/很容易。
我完全肯定有一个更好,更清洁的方式,但如果其他人正在考虑这个,这应该是一个起点,如果它是一次性报告,这工作正常。