【问题标题】:SQL query to count unique occurances in data using a 2 table union使用 2 表联合计算数据中唯一出现次数的 SQL 查询
【发布时间】:2013-12-07 01:07:44
【问题描述】:

我有 3 张桌子:
ClosedClaims - 此表包含数十个字段,最重要的是 Spare(第一个接触索赔的人的 ID)、SpareFinished(他们打开它的日期)和 Claim_ID(索赔的 ID)。

tblAuditing - 此表保留了涉及索赔的人员的审计跟踪,并且仅包含三个字段; Spare(触摸它的人的 ID)、SpareFinished(触摸它的日期)和 Claim_ID(触摸的声明的 ID)。

PROC_LIST - 此表包含用户 ID、管理员级别和全名的列表。

我正在尝试创建一个查询,该查询将为我提供每个人的姓名以及他们接触过的声明数量。如果他们多次触及索赔,我只希望该索赔 ID 被计算一次。我有这个 SQL 字符串:

Select PROC_NM as 'Agent Name', AdminLevel as Role, Count(Claim_ID) as 'Count of Claims Reviewed', Spare as AgentID 
from (SELECT DISTINCT Spare, SpareFinished, CLAIM_ID FROM ClosedClaims_MERGE
UNION SELECT DISTINCT Spare, SpareFinished, CLAIM_ID FROM tblAuditing) CCM 
LEFT JOIN PROC_LIST PL ON CCM.Spare = PL.LOGIN 
WHERE CCM.SpareFinished >= '1/1/2013' AND CCM.SpareFinished <= '11/18/2013' 
GROUP BY Spare, PROC_NM, AdminLevel 
ORDER BY Count(Claim_ID) DESC

显然,因为我在 FROM 子句 (SpareFinished) 中有日期字段,所以它将计算对同一个声明的多次触摸。我无法弄清楚如何执行此操作,因为我需要将 SpareFinished 保留在 SQL 中,因为用户将从表单中选择日期范围(因此我的“WHERE”子句)。

我的数据看起来像这样:
+++ ClosedClaims +++

Claim_ID       Spare       SpareFinished
123456         CC235        1/1/2013
123457         CC201        6/1/2013

+++ tbl审计 +++

Claim_ID       Spare       SpareFinished
123456         CC212        4/1/2013
123456         CC201        2/1/2013
123456         CC212        3/1/2013
123456         CC203        2/10/2013
123456         CC201        1/1/2013
123457         CC201        1/7/2013
123457         CC212        3/1/2013

+++ PROC_LIST +++

AdminLevel     LOGIN        PROC_NM
Senior         CC235        Jim Thomas
Senior         CC201        Sue Schmidt
Junior         CC212        Julie Lawrence
Junior         CC203        Bob Hurley

在这种情况下,我的输出应该类似于:

Agent Name         Role     Count Of Claims Reviewed     AgentID
Jim Thomas         Senior   1                            CC235
Sue Schmidt        Senior   2                            CC201
Julie Lawrence     Junior   2                            CC212
Bob Hurley         Junior   1                            CC203

感谢任何帮助。

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    如果我正确理解了这个问题,我相信 Count(distinct Claim_ID) 应该可以工作。

    【讨论】:

    • “这很简单!”在哪里?按钮? :o)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多