Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何使用一个查询的多个结果作为第二个查询的输入来生成报告_Mysql - Fatal编程技术网

Mysql 如何使用一个查询的多个结果作为第二个查询的输入来生成报告

Mysql 如何使用一个查询的多个结果作为第二个查询的输入来生成报告,mysql,Mysql,因此,我使用这个脚本查找符合where子句中条件的代码和相关组名的列表 SELECT cc.code AS `cc Code`, ii.ii_groupname AS `II Group Name` FROM ds LEFT OUTER JOIN dd ON ds.dd_id = dd.id LEFT OUTER JOIN ii ON ds.ii_id = ii.id LEFT OUTER JOIN dcc ON ds.id = dcc.dos_id

因此,我使用这个脚本查找符合where子句中条件的代码和相关组名的列表

SELECT
  cc.code AS `cc Code`,
  ii.ii_groupname AS `II Group Name`
FROM ds
  LEFT OUTER JOIN dd
    ON ds.dd_id = dd.id
  LEFT OUTER JOIN ii
    ON ds.ii_id = ii.id
  LEFT OUTER JOIN dcc
    ON ds.id = dcc.dos_id
  LEFT OUTER JOIN cc
    ON dcc.cpt_id = cc.id
  LEFT OUTER JOIN bil
    ON ds.bil_id = bil.id
  LEFT OUTER JOIN cs
    ON bil.claim_status = cs.id
WHERE cs.status = 'Pending'
AND dd.date_of_service BETWEEN '2017/01/01' AND '2018/08/31'
AND (dcc.r_code = '42'
OR dcc.r_code = '36')
GROUP BY cc.code,
         ii.ii_groupname
这将返回一个代码和相关组名的列表。这是短剪报

cc code II Group Name
111     Team 1
2241    TWR
2241    TMA
2777    AHI
2777    AST
2777    BAC
2777    BH
2777    CEI
2777    DMS
2777    FPC
2777    FFN
2777    FFN 2
2777    IS
5664    AE
5664    CEI
5664    DMS
5664    UA
23456   AE
23456   CEI
23456   Team Alpha
23456   MB
23456   PI
23456   PTC
23456   SGC
23456   TWR
23456   USAA
给定的代码可以由多个组名使用

然后,我需要获取代码和组名列表的结果,然后获取每个给定代码和相关组名的几个字段的平均值,如果是手动完成的,脚本如下所示

    SELECT
     cc.code AS `cc Code`,
  ii.ii_groupname AS `II Group Name`
  CAST(AVG(dcc.amount_allowed) AS decimal(10, 2)) `AVG Allowed`,
  CAST(AVG(dcc.paid_amount) AS decimal(10, 2)) `Paid Avg`
  FROM ds
  LEFT OUTER JOIN dd
    ON ds.dd_id = dd.id
  LEFT OUTER JOIN ii
    ON ds.ii_id = ii.id
  LEFT OUTER JOIN dcc
    ON ds.id = dcc.dos_id
  LEFT OUTER JOIN cc
    ON dcc.cpt_id = cc.id
 WHERE date_of_service BETWEEN '2017/01/01' AND '2019/08/31'
 AND (dcc.r_code = '42' OR dcc.r_code = '36')
 and cc.code = '23456'
 and ii.ii_groupname = "Team Alpha"
 dcc.amount_allowed > 0

因此,我想做的是从第一个查询中获取代码和组名列表,并将其用于第二个查询,自动替换代码和组名,并为显示这些平均值的所有cc.code和组名提供输出。如果它只是一个值,我需要使用Include子查询,但因为我需要代码和组名从它我不知道最好的方式来做这件事。感谢您的帮助

我可以通过在中的where子句中添加子查询来实现这一点 像


然后,这会将这两个字段返回到要运行的主查询。

好,我不知道这对我有什么帮助?我试图展示我用来获取代码和组列表的查询,然后我需要弄清楚如何让第二个脚本获取该输出,并给我所有这些代码/组的平均值。对不起,如果我错过了什么好的,你有什么可以帮忙的吗?我正在搜索网站/互联网/等,寻找可能的解决方案(目前需要几个小时),如果你能为我指出一些有帮助的东西,我将不胜感激。你拥有我所得到的一切。好吧,我很困惑,也许我错过了,我没有在你的链接中看到任何与我的问题相关的东西。希望有人能帮助我。不管怎样,我想我需要提取所有dd.id、代码和关联组的代码,这些代码的状态是挂起的,它们的服务日期介于两个日期之间,它们的r#U代码是列出的两个代码之一。当我运行它时,它返回大约3600行。我需要获取代码和关联组的列表,然后为每个组和代码找到所有dd.id的关联代码和组的平均允许金额和支付金额,无论它们的状态是允许金额>0
where (cc.code,ii.ii_group_name) IN (select cc.code, ii.ii_group_name from ...)