我想用SQL语句创建一个某高校的录取信息系统,想把那些达到该高校实际录取分数线而没被所填专业录取且专业填写了可调配的同学随机分配到其他未达到额定录取人数的专业。求条SQL语句解决问题!
假设学生信息表为A(考号,姓名,录取专业,同意调剂(0表示同意,1表示不同意)),系别及专业信息表B(专业,系别,招生人数,实际录取人数)。
我想用SQL语句创建一个某高校的录取信息系统,想把那些达到该高校实际录取分数线而没被所填专业录取且专业填写了可调配的同学随机分配到其他未达到额定录取人数的专业。求条SQL语句解决问题!
假设学生信息表为A(考号,姓名,录取专业,同意调剂(0表示同意,1表示不同意)),系别及专业信息表B(专业,系别,招生人数,实际录取人数)。
UPDATe [Ygame].[dbo].[A]
SET
[录取专业] = select 专业 from ( select top 1 专业, NewID() as random from [B] where 招生人数>实际录取人数 order by random) rb
WHERe 录取专业='' and 同意调剂=1
一条语句最多只能做到这种程度了
你的要求不太清晰,上面那条语句不能在分配专业的同时,给分配的专业实际录取人数自动加1,所以不够严谨,要在分配完毕的同时实际录取人数自动加1必须得用存储过程了。
要不你就在程序里面分步弄,一条SQL语句怕是解决不了问题的,给分吧!你太刁难人了
两张表没有相关联的数据吗 这样的话sql 语句不好写