あなたは、おそらくこのような何かを探しています:(I彼らは構文を読んで理解することは非常に簡単になるので、あなたは、あなたがそれによってグループ化されていることを見て、DHIS_Codeあたりの割合を返すようにしたいでしょう
with present
as (
select DHIS_Code, count(*) as count
from vu_StaffInfo where Staff_Att_Status='Present'
group by DHIS_Code
),
with total
as (
select DHIS_Code, count(*) as count
from vu_StaffInfo
group by DHIS_Code
)
select total.DHIS_Code, (isnull(present.count,0)/total.count) * 100.00
from total
left outer join present on present.DHIS_Code = total.DHIS_Code
)のCTEにごsubquerysを変更しました。
また、(Staff_Att_Status)countをcount(*)で変更しました。これは、異なるStaff_Att_Statusの数ではなく、それらのデータセットの行数を必要とするためです。たとえば、の現在のデータセットでは常に1になります。その場合、「現在」のステータスしか存在しないためです。
Subqueryが複数の値を返したというエラーが表示されます –
あなたのデータはわかりませんが、selectのsun-queryがスカラー値を返さなければならないことを確認する必要があります。 –
申し訳ありませんが、サブクエリはsun-queryではありません:) –