首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

同一张表,取出随机的两部分,并全部随机显示解决方法

2012-05-06 
同一张表,取出随机的两部分,并全部随机显示table Teacher_Skill(xm --姓名xh --学号fd --辅导)要求:根据辅

同一张表,取出随机的两部分,并全部随机显示
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
[解决办法]
探讨
SQL code
select * from (SELECT TOP 12 [xm],[xh] FROM [Teacher_Skill] where fd<> '饶玉梅' order by newid()) a
union
select * from (SELECT TOP 3 [xm],[xh] FROM [Teacher_Skill] where fd= '饶玉梅' order by n……

热点排行