0

SQL Server2008R2の一連のデータの結果を調べるクエリがあります。基本的に、サンプルの人々は、数か月間、1日に数回調査を行っています。Visual Studioで、全期間にわたって調査を見逃したことがない人だけを表示するレポートを作成したいと思います。

列の構造が次のようになっているとしましょう。

ID | UserRef | ResultRef | Date  | Time 

どこ:

  • ID行の一意の識別子です

  • UserRef各参加者の一意の識別子です

  • ResultRef調査がどのように完了したかを示します(たとえば、「A」は調査が時間どおりに完了したことを示します。「C」は参加者が調査に完全に失敗したことを意味します。「O」は調査が完了したが遅れていることを意味します)など。等)

  • Date自明Timeです

私が見つけたいのは、調査を見逃したことのないすべての人々です(つまり、彼らの中に「A」を記録しただけですResultRef)。

また、すべての参加者がすべての調査に回答するように招待されたわけではないことも覚えておく価値があります。一部の参加者は招待されましたが、一部の参加者のみが招待されました。

私はクエリを検討してきましたが、この句をGROUP BY理解できません。WHERE

助言がありますか?

4

1 に答える 1

2

これを試して

SELECT * FROM yourTable WHERE ResultRef = 'A' and UserRef NOT IN 
 (SELECT DISTINCT UserRef FROM yourTable 
  WHERE ResultRef != 'A')
于 2013-03-25T09:30:00.167 に答える