0

SQL Server 2008を使用すると、次のような2つのテーブル結果を返すことができます。

College    Department   Course    Section   Passed

  X           CS         B.Sc        A        30
  X           CS         B.Sc        B        12

そして2番目の結果

College    Department   Course    Section   Failed

  X           CS         B.Sc        A        23
  X           CS         B.Sc        B        42

ここでは、最初のテーブルよりも1つの余分なテーブルを結合しています。同じクエリを使用して合格カウントと失敗カウントの両方を取得すると、カウントが失敗します。これは、2つの異なるクエリを使用していることです。

これらの2つのテーブルを組み合わせて、次のような結果を得ようとしています。

College    Department   Course    Section   Passed   Failed

  X           CS         B.Sc        A        30       23
  X           CS         B.Sc        B        12       42

しかし、私はこれを行う方法がわかりません、事前に感謝します、誰かがここで私を助けることができますか?

注:ここでは、両方のクエリで約3〜5個のテーブルを結合しています。

4

3 に答える 3

2
select a.*b.failed
from ([first result query]) a
INNER JOIN ([second result query]) b on a.college=b.college and a.Department=b.Department and a.Course=b.course and a.Section=b.Section
于 2012-08-09T11:12:40.813 に答える
1

ユースケースステートメント

select College,    Department ,  Course  ,  Section ,
       sum(case when <pass condition> then 1 else 0) as Passed  ,
       sum(case when <fail condition> then 1 else 0) as Failed
from <table1>
join <table2>
on (condition)
group by College,    Department ,  Course  ,  Section
于 2012-08-09T11:12:51.743 に答える