我有一张满是患者/责任方/保险公司组合的表格(例如,患者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
在此示例中,我想生成任何患者/ RP /运营商组合的所有重复月份的列表。 12/15/3组合将是这里返回的唯一行,但我正在使用数千种组合。
使用GROUP BY
或类似功能不确定是否可行。提前感谢任何建议!
答案 0 :(得分: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
这将显示任何患者/责任方/保险公司/日历月组合,其中包含该月的多条记录。