【问题标题】:SQL query for HP ALM to get full requirement path用于 HP ALM 的 SQL 查询以获取完整的需求路径
【发布时间】:2015-02-19 06:23:35
【问题描述】:

我有一个 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

任何人都可以完成该声明以包含完整的需求路径吗?

谢谢

【问题讨论】:

    标签: sql hp-quality-center alm


    【解决方案1】:

    好的,我在工作,这是假期,我已经完成了我的项目,是的,我已经将其视为一个 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 个连接。之后,很容易去掉多余的 /。

    我完全肯定有一种更好、更清洁的方法,但如果其他人看到这个,这应该是一个起点,如果它是一次性报告,这很好。

    【讨论】:

    • 嘿,感谢您提供代码。但是,我无法运行它,因为 ALM 显然无法识别 substr 关键字。 (它不像其他的那样由蓝色文本标识)。查询是否要在 ALM 中运行?
    • 是的,try here for substring in sql server。这在我的环境中运行,即 oracle。不幸的是,我没有要测试的 SQL Server 环境。概念仍然相同,获取最大长度,知道它在 3 秒内。再次,彻底的黑客攻击。可以找出更好的方法,不要向任何 DBA 展示,否则他们可能会对你大喊大叫。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多