2017-03-01 12 views
-1

私は何年もstackoverflowを使用していましたが、通常は検索で必要なものを見つけることができましたが、謝罪します。私はこのようなことに非常に新しいですが、さまざまなプロジェクトを支援するために働いていることを愛しています。SQLにアクセスする - いくつかの基準に基づいてフィールドを数えるクエリが必要です

私は保険金請求業界で働いていますが、私たちは保険金請求を電子ファイルとして持っています。監督者は、単にファイルレビューと呼ばれるこれらのファイルのレビューを行います。私は仕事のすべてのファイルレビューを追跡するために使用するAccessデータベースを持っています。

私はOWNアソシエイツでファイル審査を行っています。つまり、アソシエイトが私に報告します。他の時間私は、異なる監督者に報告するアソシエイトについてファイルレビューをしています。

私のマスター表が(他の列の多くと)次のようになり、各レコードは、ファイルのレビューを示します

ClaimNumber | Supervisor | Reviewer 
----------- | -----------| ------------ 
1---------- | ---Bob-----| Bob 
2---------- | ---Bob-----| Amy 
3---------- | ---John----| Amy 
4---------- | ---John----| Dean 
5---------- | ---John----| John 
6---------- | ---Dean----| Dean 
7---------- | ---Dean----| Dean 
8---------- | ---Dean----| Bob 
9---------- | ---Kyle----| Bob 
10--------- | ---Bob-----| Shawn 

参加が使用されている場合によっては、スーパーバイザーの名前がリストされていないことに注意してくださいレビューアの列に1回だけ表示されます。同様に、監督者の欄に査読者の名前が1回だけ表示されないこともあります。

だから、私は

Reviewer ------ TotalReviews ---- Self_Reviews ---- Cross_Reviews 

校閲を返す単一のクエリを必要とするすべての独特のレビュー

TotalReviewsは校閲者の名前が校閲欄

に記載されていることを何回のカウントです

セルフレビューは、レビューアの欄にレビュー担当者の名前がリストされている回数が、その名前が特定のレコードの管理者名と等しい場合の回数です。

クロスレビュー、ボブは、1つの自己を3件のレビュー総あり

その特定のレコードの校閲者の名前が自分の名前がスーパーバイザ名と同じではありませんレビュアー欄に記載されていることをどのように多くの回数のカウントです2クロス

エイミーは2件、0自己合計あり、2クロス

ディーンは3件、2セルフ合計あり、1クロス

ジョンは

ショーン0クロス1件の、1つの自己を、持っています1件のレビュー、0の自己、1のクロス

私はこれが私にとっては複雑だと知っていますが、誰かがそれをはるかに簡単にするのを助けることを望んでいます。私はアクセスを使用しているので、どのOracleや他のSQL構文も機能しない可能性があります。

答えて

0

ここで使用できる簡単なトリックがあります。インジケータ機能の合計です。

セルフレビューのインジケータ機能はSwitch(Supervisor = Reviewer,1,True,0)です。

次のクエリにつながる:アクセス以外の環境で

SELECT 
    T.Reviewer, 
    COUNT(*) AS TotalReviews, 
    SUM(Switch(T.Supervisor = T.Reviewer,1,True,0)) AS Self_Reviews, 
    SUM(Switch(T.Supervisor <> T.Reviewer,1,True,0)) AS Cross_Reviews 
FROM TableName T 
GROUP BY T.Reviewer 

、インジケータ機能は、一般的にfllowing次のようになります。

CASE WHEN Supervisor = Reviewer THEN 1 ELSE 0 END 
+0

M.Doerner ...本当にありがとうございました!私は構文エラー、演算子が不足しています! –

+0

@TrialRun申し訳ありませんが、私は 'SUM'のカッコを閉じるのを忘れました。それを編集しました。 –

+0

うわー、完璧です!私は心から援助を感謝し、あなたの解決策は、私が試していた他のものよりずっと簡単でした!もう一度ありがとう! –

関連する問題