查询以生成预期结果

时间:2021-04-23 16:19:57

标签: mysql laravel laravel-query-builder

所以目前我一直在做一个项目,这是我遇到的问题之一。我想在我的应用程序中包含这些数据,并希望在我的视图中将数据视为进度条。我希望数据是这样的

<头>
案例名称 持续时间 判决通过 判决失败 总计 配置
案例1 3654 2 1 3 BaseConfig_GEN1、ColorGrip_Absent、InkType_MO70
案例2 23325 1 0 1 BaseConfig_GEN1,ColorGrip_Present
案例3 23325 1 1 2 BaseConfig_GEN2

目前我只有这个,数据甚至不正确,尤其是总数

<头>
案例名称 持续时间 总计 配置
案例1 3654 2 BaseConfig_GEN1、ColorGrip_Absent、InkType_MO70
案例2 23325 1 BaseConfig_GEN1,ColorGrip_Present
案例3 23325 2 BaseConfig_GEN2

到目前为止,我还没有弄清楚如何在同一个查询中生成 VerdictPass 和 Fail。

我现在的查询

   public function testSuiteDetails($suite_id)
    {
        return DB::table('test_executions as e')
        ->select('e.case_id','b.version','c.name as case',DB::raw('SUM(distinct e.duration) as time'),
            DB::raw('group_concat(distinct bs.config order by bs.config asc SEPARATOR ";") as config'))
        ->selectRaw('COUNT(distinct e.verdict) as verdict')
        ->rightJoin('test_cases as c','e.case_id','=','c.id')
        ->rightJoin('test_suites as s','c.suite_id','=','s.id')
        ->rightJoin('build_versions as b','e.build_id','=','b.id')
        ->rightJoin('configuration as f','f.id','=','e.finalconfig_id')
        ->rightJoin('baseconfig_configuration as bc','bc.config_id','=','f.id')
        ->rightJoin('base_config as bs','bs.id','=','bc.baseconfig_id')
        ->groupBy('e.case_id','b.version','c.name')
        ->where('c.suite_id',$suite_id)
        ->get();

    }

有没有办法做到这一点?请注意从其他表中检索的配置并在此查询中连接。如果有人对我的查询感到困惑,下面还有数据库设计

https://imgur.com/a/3urFSCZ

0 个答案:

没有答案