2017-08-21 8 views
2

に参加し、が、私は結果を得るために2番目のクエリで最初のクエリを分割したい2つのクエリ/除算クエリ

まずクエリはさらになしで

select count(*)*100 from event.enrollment e 
inner join event.schedule s on 
e.ScheduleId=s.ScheduleId 
where [email protected] 

と 2番目のクエリ

select MaxCapacity from [Event].schedule s where [email protected] 
+0

ユニオンステートメント –

+0

を参照してください。 –

答えて

3

あなただけの値を分割することができます:容量のため

select count(e.ScheduleId)*100.0/max(s.MaxCapacity) 
from event.schedule s left join 
     event.enrollment e 
     on e.ScheduleId = s.ScheduleId 
where s.EventId = @eventId; 

max()はそう単純集計作品です。

count(e.ScheduleId)は、登録時に一致する行の数を数えます。

100.0は、SQL Serverが整数除算を実行している可能性が高いためです。

+0

ゴードンありがとう! ! :) –

1

ですあなたのデータベースと関係についての知識ですが、サブクエリはとにかく動作するはずです:

select 
count(*)*100 
/
(select MaxCapacity from [Event].schedule s where [email protected]) 
from event.enrollment e 
inner join event.schedule s on 
e.ScheduleId=s.ScheduleId 
where [email protected] 

おそらく、event.scheduleテーブルのデータを使用できます。

+0

あなたは素晴らしいですサー!ありがとう! ! :) –

関連する問題