4

我有一张桌子,里面全是患者/责任方/保险公司组合(例如,患者 Jim Doe 的责任方是拥有保险公司 Aetna Insurance 的父母 John Doe)。对于这些组合中的每一种,他们都有一份包含多次付款的合同。对于这个特定的表,我需要编写一个查询来查找在同一个月内有多个合同日期的任何父/RP/运营商组合。有没有办法做到这一点?

示例表:

ContPat | ContResp | ContIns | ContDue
------------------------------------------------------
53      | 13       | 27      | 2012-01-01 00:00:00.000
53      | 13       | 27      | 2012-02-01 00:00:00.000
53      | 15       | 27      | 2012-03-01 00:00:00.000
12      | 15       | 3       | 2011-05-01 00:00:00.000
12      | 15       | 3       | 2011-05-01 00:00:00.000
12      | 15       | 3       | 2011-06-01 00:00:00.000
12      | 15       | 3       | 2011-07-01 00:00:00.000
12      | 15       | 3       | 2011-08-01 00:00:00.000
12      | 15       | 3       | 2011-09-01 00:00:00.000

在此示例中,我想为任何 Patient/RP/Carrier 组合生成所有重复月份的列表。12/15/3 组合将是此处返回的唯一行,但我正在使用数千种组合。

不确定这是否可以使用 aGROUP BY或类似功能。提前感谢您的任何建议!

4

1 回答 1

9

如果您只关心同一日历月中的多个条目:

SELECT
    ContPat,
    ContResp,
    ContIns,
    MONTH(ContDue) as Mo,
    YEAR(ContDue) as Yr,
    COUNT(*) as 'Records'
FROM
    MyTable
GROUP BY
    ContPat,
    ContResp,
    ContIns,
    MONTH(ContDue),
    YEAR(ContDue)
HAVING
    COUNT(*) > 1

这将向您显示任何患者/责任方/保险公司/日历月组合以及该月的多个记录。

于 2012-07-10T14:39:52.530 回答