在 MS Access 中尝试此查询 - 请告诉我我错在哪里

问题描述

目的是连接同一个表并使用where子句检索两个不同的列

SELECT a.analyst_assigned,count(a.case_id) AS Pending,count(b.case_id) AS Completed,sum(b.total_errors) AS Errors
  FROM cases_main as a
 WHERE a.team_qc1_qa2 = "qa" 
   and a.q_status in ("Not Started","Under Review","Follow-up") 
   and a.p_date_worked between #03/08/2021# and #03/14/2021#

    INNER JOIN cases_main as b

    ON a.analyst_assigned = b.analyst_assigned

 WHERE b.team_qc1_qa2 = "qa" 
   and b.q_status in ("Completed: No Error","Completed: Feedback") 
   and b.p_date_worked between #03/08/2021# and #03/14/2021#

 GROUP 
    BY b.analyst_assigned;

解决方法

试试这个更简单的方法:

SELECT a.analyst_assigned,abs(sum(q_status Like "Completed*")) AS Pending,abs(sum(q_status Not Like "Completed*")) AS Completed,sum(b.total_errors) AS Errors
FROM cases_main as a
WHERE a.team_qc1_qa2 = "qa" 
    and a.p_date_worked between #03/08/2021# and #03/14/2021#
GROUP BY a.analyst_assigned