2015-10-20 23 views
0

我有一个表,其中有以下Columns ID,Client ID,Provider ID。如果同一Client IDProvider ID组合存在多次,我想要拉记录。 (同时列出)我的结果应该SQL查询 - 多列内部连接匹配

Column ID Client ID Provider ID 
    R1   C1   P1 
    R2   C1   P1 
    R3   C2   P2 
    R4   C2   P2  

感谢您的帮助

+0

你可以表现出任何的努力? –

+0

问题的标题是如何谈论“内部连接”的,而您的问题是关于在没有连接的情况下在单个表上进行简单查询?请澄清这一点。 – AXMIM

回答

1

这应该工作:

; 
WITH X AS( 
    SELECT 
    Count(*) over (partition by [Client ID], [Provider ID]) as [Cnt], 
    * 
    FROM 
    YourDatabase..YourTable 
) 
SELECT * FROM X WHERE [Cnt] >= 2 
+0

另一个非常好的答案,它肯定需要upvote。使用窗口函数('by partition by')还不太知道。顺便说一句,双'''当然是一个错误,';'是没有必要的。另外,我会设置上部的开放支架。我喜欢Allman支架风格。 –