2016-05-14 78 views
0

我在“工作访问报告可接受性”中构建报告。这里是我当前的查询:在查询中合并两个字段

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 

不幸的是,我需要在接受和完成的字段合并报告,因为他们都是“接受”的工作。我无法找到将这两者结合起来的方法,并仍然在报告中显示被拒绝的价值。我知道如何编写一个查询来获得Accept或Rejected结果,但不知道如何将它们组合到Access报告中可以使用的东西中。

+0

你能不添加另一个字段状态表? – Fionnuala

回答

0

这是否正常工作?

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"; 
+0

不幸的不是。 Access对于新的jobstatus列有困难,因为它不是“集合函数的一部分”。访问必须是我曾经使用过的最令人沮丧的程序之一。感谢您的帮助。 – Phantomwang

0
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 
+0

这工作完美。谢谢! – Phantomwang