1

一連のビジネスルールを表現するためのこのクエリがあります。必要な情報を取得するために、テーブル自体を結合しようとしましたが、実際にテーブルにあるよりもはるかに多くのレコードが返されます。以下は私が試したクエリです。私は何が間違っているのですか?

SELECT DISTINCT a.rep_id, a.rep_name, count(*) AS 'Single Practitioner'
FROM [SE_Violation_Detection] a inner join [SE_Violation_Detection] b 
ON a.rep_id = b.rep_id and a.hcp_cid = b.hcp_cid
group by a.rep_id, a.rep_name
having count(*) >= 2
4

2 に答える 2

4

これは、having句を使用して実現できます。

select a, b, count(*) c
from etc
group by a, b
having count(*) >= some number
于 2013-03-20T17:25:01.167 に答える
1

クエリの1つに必要な情報を取得するためのより簡単な方法を見つけました。上記のものはまだ間違っています。

--Rep violation for different HCP more than 5 times 
select distinct rep_id,rep_name,count(distinct hcp_cid) 
AS 'Multiple Practitioners' 
from dbo.SE_Violation_Detection
group by rep_id,rep_name 
having count(distinct hcp_cid)>4 
order by count(distinct hcp_cid)
于 2013-03-21T19:52:10.420 に答える