Php 将select语句与日期组合

Php 将select语句与日期组合,php,sql,database,Php,Sql,Database,请帮助我,我希望我的SQL Select语句组合在一个查询中 <?php Total Assigned = SELECT date(DATE_DISTRIBUTE) , COUNT(DATE_DISTRIBUTE) AS TotalAssigned FROM ata_report_extracted WHERE STATUS ='DISTRIBUTED' GROUP BY date(DATE_DISTRIBUTE) "; Total Handled = "SELECT

请帮助我,我希望我的SQL Select语句组合在一个查询中

<?php

Total Assigned = SELECT date(DATE_DISTRIBUTE)
     , COUNT(DATE_DISTRIBUTE) AS TotalAssigned
  FROM ata_report_extracted WHERE STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_DISTRIBUTE) ";


Total Handled = "SELECT date(DATE_HANDLED)
     , COUNT(DATE_HANDLED) AS TotalHandled
  FROM ata_report_extracted WHERE PROS_DESCRIPTION NOT IN ('Open', 'Acknowledged', 'Fallout', 'Cleared') AND STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_HANDLED) ";

Total Resolved ="SELECT date(DATE_HANDLED)
     , COUNT(DATE_HANDLED) AS TotalResolved
  FROM ata_report_extracted WHERE PROS_DESCRIPTION = 'Closed' AND STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_HANDLED) ";

TotalDispatch ="SELECT date(DATE_HANDLED)
     , COUNT(DATE_HANDLED) AS TotalDispatch
  FROM ata_report_extracted WHERE PROS_DESCRIPTION ='Dispatch' AND STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_HANDLED) ";


TotalPending ="SELECT date(DATE_HANDLED)
     , COUNT(DATE_HANDLED) AS TotalPending
  FROM ata_report_extracted WHERE PROS_DESCRIPTION IN ('TOKUNDEROB', 'CALLNOANSWER') AND STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_HANDLED) ";

 ?>


<?php

Total Assigned = SELECT date(DATE_DISTRIBUTE)
     , COUNT(DATE_DISTRIBUTE) AS TotalAssigned
  FROM ata_report_extracted WHERE STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_DISTRIBUTE) ";


Total Handled = "SELECT date(DATE_HANDLED)
     , COUNT(DATE_HANDLED) AS TotalHandled
  FROM ata_report_extracted WHERE PROS_DESCRIPTION NOT IN ('Open', 'Acknowledged', 'Fallout', 'Cleared') AND STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_HANDLED) ";

Total Resolved ="SELECT date(DATE_HANDLED)
     , COUNT(DATE_HANDLED) AS TotalResolved
  FROM ata_report_extracted WHERE PROS_DESCRIPTION = 'Closed' AND STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_HANDLED) ";

TotalDispatch ="SELECT date(DATE_HANDLED)
     , COUNT(DATE_HANDLED) AS TotalDispatch
  FROM ata_report_extracted WHERE PROS_DESCRIPTION ='Dispatch' AND STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_HANDLED) ";


TotalPending ="SELECT date(DATE_HANDLED)
     , COUNT(DATE_HANDLED) AS TotalPending
  FROM ata_report_extracted WHERE PROS_DESCRIPTION IN ('TOKUNDEROB', 'CALLNOANSWER') AND STATUS ='DISTRIBUTED'
 GROUP BY date(DATE_HANDLED) ";

 ?>

注释中解释的所有要求都包含在以下查询中。我使用了完全联接,因此如果一个查询中有一个日期可用,而另一个查询中没有,那么输出中也会出现该日期

SELECT 
CASE
    WHEN A.Date_Han_Dst IS NULL THEN B.Date_Han_Dst 
    ELSE A.Date_Han_Dst
END AS [Date_Han_Dst],
A.TotalHandled,
A.TotalResolved,
A.TotalDispatch,
A.TotalPending,
B.TotalAssigned
FROM 
(
    SELECT date(DATE_HANDLED)  AS [Date_Han_Dst],
    SUM(CASE WHEN PROS_DESCRIPTION NOT IN ('Open', 'Acknowledged', 'Fallout', 'Cleared') AND STATUS ='DISTRIBUTED' THEN 1 ELSE 0  END) AS TotalHandled,
    SUM(CASE WHEN PROS_DESCRIPTION = 'Closed' AND STATUS ='DISTRIBUTED' THEN 1 ELSE 0 END) AS TotalResolved,
    SUM(CASE WHEN PROS_DESCRIPTION ='Dispatch' AND STATUS ='DISTRIBUTED' THEN 1 ELSE 0 END) AS TotalDispatch,
    SUM(CASE WHEN PROS_DESCRIPTION IN ('TOKUNDEROB', 'CALLNOANSWER') AND STATUS ='DISTRIBUTED' THEN 1 ELSE 0  END) AS TotalPending
    FROM ata_report_extracted GROUP BY date(DATE_HANDLED)
)A
FULL JOIN
(
    SELECT date(DATE_DISTRIBUTE)  AS [Date_Han_Dst],
    SUM(CASE WHEN STATUS ='DISTRIBUTED' THEN 1 ELSE 0 END) TotalAssigned
    FROM ata_report_extracted GROUP BY date(DATE_DISTRIBUTE) 
)B
ON A.Date_Han_Dst = B.Date_Han_Dst

你想要什么,“每日总报告”的定义是什么?日期总计分配总计已处理总计已解决总计调度2019年5月16日1 0 0 0 0 2017年5月5日2 1 0我希望结果如下:)使用该信息编辑您的问题,而不是发布将其作为评论,并确保其易于理解。评论不用于扩展讨论;这段对话已经结束。