単一のテーブルに保持されている (単一の行にダンプされた) 値の合計とパーセンテージの作成を含むクエリを作成しました。各サブクエリは、WHERE パラメータに関してわずかに異なります。例えば:
select distinct
count(KS2_PupilMatchingRefAnonymous) AS 'Total Pupils',
(select count(KS2_PupilMatchingRefAnonymous)
from KS2_CandInd_2011
where KS2_MMSCH=1
and KS2_ELIGENGTA=1) AS 'All Eligible Pupils',
(select count(*)
from KS2_CandInd_2011
where KS2_MMSCH=1
and KS2_ELIGENGTA=1
and KS2_ELIGENGTA=1
and FSMeligible=1) AS 'Eligible FSM only',
(select round(
(cast((
select count(*)
from KS2_CandInd_2011
where KS2_MMSCH=1
and KS2_ELIGENGTA=1
and KS2_ELIGENGTA=1
and FSMeligible=1) AS float) /
cast((
select count(KS2_PupilMatchingRefAnonymous)
from KS2_CandInd_2011
where KS2_MMSCH=1
and KS2_ELIGENGTA=1) AS float))*100,2
)) AS '% Eligible FSM'
from KS2_CandInd_2011
where KS2_MMSCH=1
性別に応じて、各サブクエリを COUNT (およびもちろん GROUP BY) で分類したいと考えています。性別の COUNT/GROUP BY が外側のクエリに配置されている場合、「合計生徒」値の内訳/分割のみが取得されます。
サブクエリに同じ句を入力しようとすると、
メッセージ 116、レベル 16、状態 1、行 12 サブクエリが EXISTS で導入されていない場合、選択リストに指定できる式は 1 つだけです。
相関サブクエリのように、内側のクエリは実際には外側のクエリを参照していないため、最善を尽くしてもエラーを克服する方法がわかりません。誰か提案はありますか?