我想将第一个查询除以第二个查询以获得结果
第一个查询是
select count(*)*100 from event.enrollment e
inner join event.schedule s on
e.ScheduleId=s.ScheduleId
where s.EventId=@eventId
和 第二次查询
select MaxCapacity from [Event].schedule s where s.eventid=@eventId
答案 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进行整数除法,这很可能是你想要的。
答案 1 :(得分:1)
没有进一步了解您的数据库和关系 - 但子查询应该仍然有效:
select
count(*)*100
/
(select MaxCapacity from [Event].schedule s where s.eventid=@eventId)
from event.enrollment e
inner join event.schedule s on
e.ScheduleId=s.ScheduleId
where s.EventId=@eventId
但您可以使用加入的event.schedule
表中的数据。