0

reportportal v5 の postgresql データベースに対して sql を書き込もうとしていますが、project_id [および拡張子 project_name] を test_item と同じ行に取得する明確な方法がないことがわかりました。

私は最初にこのクエリを書きました

select
    tir.result_id, 
    ti.start_time, 
    tir.end_time, 
    tir.duration, 
    ti.item_id as test_item_id, 
    cq.issue_name,
    STRING_AGG(l.log_message, '\t') as log_message 
from test_item_results tir
left join test_item ti
    on tir.result_id = ti.item_id 
left join issue i
    on tir.result_id = i.issue_id    
join (select "name", project_type, issue_type_id, issue_group_id, issue_name from project p 
        join issue_type_project itp
            on p.id = itp.project_id 
        join issue_type it 
            on itp.issue_type_id = it.id 
        where project_type = 'INTERNAL') cq
    on i.issue_type = cq.issue_type_id  
left join log l
    on tir.result_id = l.item_id
where tir.status = 'FAILED'
and type IN ('STEP')
and cq.issue_name <> 'To Investigate'
and cq.issue_name in ('Product Bug', 'Automation Bug', 'System Issue', 'No Defect')
and l.log_message is not NULL
group by tir.result_id, ti.start_time, tir.end_time, ti.item_id, tir.result_id, i.issue_id, cq.issue_name
order by ti.start_time desc

ただし、すべてのプロジェクト (個人または内部) で、製品のバグ、自動化のバグ、システムの問題、および欠陥なしという既定の障害タイプを使用できます。このクエリは同じ test_item につながり、その結果はすべてのプロジェクトで複製されます。

次に、db ダイアグラムを見て、これらの空のテンプレート テーブルがあることに気付きました:pattern_template_test_itempattern_template. これらの使用方法を理解することに成功していません。projectテーブルには と との関係があることpattern_templateがわかります。pattern_templatepattern_template_test_itemtest_item

このSQLの書き方の手がかりを持っている人はいますか? 私の最終目標は、重複することなくクエリから表示される出力を取得することです。また、テストと結果が属する実際のプロジェクトが必要なため、ここでは distinct を使用できません。

ここに画像の説明を入力

4

1 に答える 1