0

タイプが控訴担当者 1 ではないテーブルでall yearandを検索しようとしています。エラーは、 andがテーブルに多くの行を持つことができるという事実から来ています。これは私が試したことです:caseseqnumbersyearcaseseqnumber

Select caseseqnumber, year
from caseparticipants
where not exists (Select *
                  from caseparticipants
                  where participanttype = 'Appellant Rep 1')

何か助けて?!

4

5 に答える 5

0

LEFT JOIN を使用して、caseparticipants をそれ自体と結合できます。結合が成功しない場合は、caseseqnumber と year に次の行がないことを意味しますparticipanttype = 'Appellant Rep 1'

SELECT
  c1.caseseqnumber, 
  c1.year 
FROM 
  caseparticipants c1 LEFT JOIN caseparticipants c2
  ON c1.year=c2.year AND c1.caseseqnumber=c2.caseseqnumber
     AND c2.participanttype = 'Appellant Rep 1'
WHERE
  c2.year IS NULL

編集

CaseseqNumber、Year の個別の組み合わせの数、およびタイプが「Appellant Rep 1」である組み合わせの数を比較するには、次の SQL Server クエリを使用できます。

SELECT
  COUNT(DISTINCT
    CAST(c1.caseseqnumber AS VARCHAR) + '-' + CAST(c1.year AS VARCHAR)),
  COUNT(DISTINCT
    CAST(c2.caseseqnumber AS VARCHAR) + '-' + CAST(c2.year AS VARCHAR))
FROM 
  caseparticipants c1 LEFT JOIN caseparticipants c2
  ON c1.year=c2.year AND c1.caseseqnumber=c2.caseseqnumber
     AND c2.participanttype = 'Appellant Rep 1'
于 2013-05-02T12:26:42.890 に答える