繁体   English   中英

MS Access 2007 SQL查询:SELECT语句中的嵌套(COUNT,GROUP BY)

[英]MS Access 2007 SQL Query: Nested (COUNT, GROUP BY) in SELECT statement

我有一个跟踪日志,用于确定提案和保险人可用性的紧迫性。 到目前为止,我已经进行了两个单独的查询:一个显示建议书ORDER BY,是否加急以及何时到期;另一个显示每个承销商的COUNT OF个建议。

我的目标是向ProposalUrgency查询添加一条select语句,该语句显示分配给每行中Underwriter的proposalID的数量。 这提供了提案到期的垂直视图,以及指派的承销商是否有带宽在到期日之前完成提案的水平视图。

到目前为止,我的研究还没有找到关于此类问题的任何答案,尽管可能是因为我不了解与这种情况有关的答案。

CREATE TABLE Proposals (
  ProposalID int PRIMARY KEY,
  ReceivedDate date(),
  Client varchar(255),
  Underwriter varchar(255),
  Expedite boolean(),
  DueDate date(),
  Completed date(),
)

'ProposalUrgency'查询:

SELECT Expedite
  , DueDate
  , Underwriter
  , ReceivedDate
  , Client
FROM Proposals
WHERE Completed IS NULL
ORDER BY Expedite, DueDate, RecievedDate;

“ UnderwriterWorkload”查询:

SELECT Underwriter
  , Count('proposalID') AS OpenGroups
FROM Proposals
WHERE Completed IS NULL
GROUP BY Underwriter
ORDER BY Count('GroupName');

子查询确实可以在Access中工作(至少是Access 2013),我知道这是一种“单个查询来全部统治”的方法,但是它确实可以工作...

    SELECT P.Expedite, P.DueDate, P.Underwriter, P.ReceivedDate, P.Client, 
        (SELECT Count(1) 
         FROM Proposals Kt 
         WHERE P.Underwriter = Kt.Underwriter AND Kt.Completed IS NULL 
         GROUP BY Kt.Underwriter) As Kt
    FROM Proposals P
    WHERE P.Completed IS NULL
    ORDER BY Expedite, DueDate, ReceivedDate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM