0

SQL Server に 1 対多の関係で 2 つの関連するテーブルがあります (申請者、リファレンス)。

Applicant テーブルからすべてのデータを取得し、ビューに別の列を追加して、"Complete" 列が True である関連する参照行がいくつあるかを示すビューが必要です。

4

2 に答える 2

0

サブクエリを使用すると、次のようになります。

select applicantfield1, applicantfield2, 
  (select count(*) from 
  reference where reference.applicantkey = applicant.applicantkey 
  and reference.complete = 1) AS referencecount
from applicant

完全なフィールドが申請者テーブル (参照テ​​ーブルではない) にある場合を除きます。もしそうなら、それは次のようになります:

select applicantfield1, applicantfield2, 
  (select count(*) from 
  reference where 
  reference.applicantkey = applicant.applicantkey) AS referencecount
from applicant
where applicant.complete = 1
于 2012-10-15T23:17:38.400 に答える
0

以下のようなもの。テーブルに参加する必要があります。これは、申請者が真の参照を持っていない場合にも処理されます。

SELECT A.*, isnull(r.comptotal,0) as CompleteTotal 
FROM Applicant as a Left Join 
   (SELECT ApplicantId, Count(Complete) as comptotal
    FROM Reference Where Complete=1 Group by ApplicantID) as r 
    on a.ApplicantId = r.applicantId
于 2012-10-15T23:19:50.587 に答える