【问题标题】:Combine two fields in a query合并查询中的两个字段
【发布时间】:2023-03-17 12:49:02
【问题描述】:

我正在构建一份工作报价可接受性访问报告。这是我当前的查询:

SELECT 
    tblSTATUS.Status, Count(tblJOB.StatusTypeID) AS CountOfStatusTypeID
FROM 
    tblSTATUS 
INNER JOIN 
    tblJOB ON tblSTATUS.StatusTypeID = tblJOB.StatusTypeID
GROUP BY 
    tblSTATUS.Status
HAVING 
    (((tblSTATUS.Status) = "Completed" OR 
      (tblSTATUS.Status) = "Accepted" OR 
      (tblSTATUS.Status) = "Rejected"));

结果如下:

Status          CountofStatusTypeID
Accepted                 22
Completed                 4
Rejected                  3

很遗憾,我需要在报告中合并 Accepted 和 Completed 字段,因为它们都是“已接受”的工作。我找不到将这两者结合起来并且仍然在报告中显示被拒绝值的方法。我知道如何编写查询以获取 Accept 或 Rejected 结果,但不确定如何将它们组合成可用于 Access 报告的内容。

【问题讨论】:

  • 不能在状态表中添加其他字段吗?

标签: sql database ms-access report


【解决方案1】:

这是否如您所愿?

SELECT "completed and accepted" as jobstatus, Count(tblJOB.StatusTypeID) AS CountOfStatusTypeID
FROM tblSTATUS INNER JOIN tblJOB ON tblSTATUS.StatusTypeID = tblJOB.StatusTypeID
where tblSTATUS.Status="Completed" Or tblSTATUS.Status="Accepted" 
union
SELECT tblSTATUS.Status as jobstatus, Count(tblJOB.StatusTypeID) AS CountOfStatusTypeID
FROM tblSTATUS INNER JOIN tblJOB ON tblSTATUS.StatusTypeID = tblJOB.StatusTypeID
where tblSTATUS.Status="Rejected";

【讨论】:

  • 很遗憾没有。 Access 对新的 jobstatus 列有问题,因为它不是“聚合函数的一部分”。 Access 必须是我用过的最令人沮丧的程序之一。不过感谢您的帮助。
【解决方案2】:
SELECT 
    newtblSTATUS.newstatus, Count(tblJOB.StatusTypeID) AS CountOfStatusTypeID
FROM 
    (
SELECT 
    iif(tblSTATUS.Status='Rejected','Rejected','Accepted') as newstatus, tblSTATUS.StatusTypeID 
FROM 
    tblSTATUS 
where tblSTATUS.Status in ("Completed","Accepted","Rejected")) as newtblSTATUS 
INNER JOIN 
    tblJOB ON newtblSTATUS.StatusTypeID = tblJOB.StatusTypeID
GROUP BY 
     newtblSTATUS.newstatus

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 2012-09-02
    • 2011-09-27
    相关资源
    最近更新 更多