我有两个表Case,Build和Result,如下所示 表格案例
......................................
: name : description : created_by :
:.......:..............:.............:
: test1 : hello test1 : user :
: test2 : hello test2 : user :
:.......:..............:.............:
表格构建
.......................................
: name : description : created_by :
:........:..............:.............:
: build1 : hello build1 : user :
: build2 : hello build2 : user :
:........:..............:.............:
这是我的结果表
case_name case_description build_name status
test1 hello test1 build1 Pass
test2 hello test2 build1 Fail
test1 hello test1 build2 Fail
test2 hello test2 build2 Pass
我需要查询以格式
获得结果....................................................
: case_name : case_description : build1 : build2:
:...........:..................:.........:.........:
: test1 : hello test1 : PASS : FAIL :
: test2 : hello test2 : FAIL : PASS :
:...........:..................:.........:.........:
答案 0 :(得分:0)
这样的事情会做到;它并不优雅但完成工作:
SELECT case_name, case_description
MAX(CASE WHEN build_name = 'build1' THEN status ELSE '' END) AS build1,
MAX(CASE WHEN build_name = 'build2' THEN status ELSE '' END) AS build2
FROM Result
GROUP BY case_name, case_description
如果你有两个以上的构建,你可以恰当地添加MAX
语句(如果你在Python脚本中构建这个查询就很容易)。正如我所说,不是优雅,而是一种快速简便的方法来进行交叉表查询。