table Teacher_Skill
(
xm --姓名
xh --学号
fd --辅导
)
要求:
根据辅导姓名随机取出本班的学生3名+随机取非本班学生12名,在随机显示。
SELECT TOP 12 [xm],[xh] FROM [Teacher_Skill] where fd<> '饶玉梅' --order by newid()
union
SELECT TOP 3 [xm],[xh] FROM [Teacher_Skill] where fd= '饶玉梅' --order by newid()
以上不能随机,每次结果都是一样的。
union 不支持 “order by”语句。
求指教。 最好一套语句解决问题。谢谢。
------解决方案--------------------
- SQL code
select * from (SELECT TOP 12 [xm],[xh] FROM [Teacher_Skill] where fd<> '饶玉梅' order by newid()) aunionselect * from (SELECT TOP 3 [xm],[xh] FROM [Teacher_Skill] where fd= '饶玉梅' order by newid()) b
------解决方案--------------------