【问题标题】:Trying out this query in MS Access - Please let me who where i am wrong在 MS Access 中尝试此查询 - 请告诉我我错在哪里
【发布时间】:2021-03-15 08:18:11
【问题描述】:

目的是使用 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;

【问题讨论】:

  • 为什么是 MySQL 标签?是什么让你认为你错了(Akina 我很想知道 OP 的答案,而不是你的)
  • 我错了 首先是 FROM 和所有 JOIN,然后是 WHERE。不是从哪里加入哪里。 PS。使用 master 来构建正确的查询。

标签: mysql ms-access-2016


【解决方案1】:

试试这个更简单的方法:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多