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

union多表联合查询,并且每个表都能重新排序解决方法

2012-01-29 
union多表联合查询,并且每个表都能重新排序就是一个表,例如一个主题贴表,不同的栏目选出10个最新(或随机)

union多表联合查询,并且每个表都能重新排序
就是一个表,例如一个主题贴表,不同的栏目选出10个最新(或随机)的贴子。如何将他们放在一个记录集里面?

SELECT   TOP   10   *   FROM   tblName   WHERE   r1=1
union   SELECT   TOP   10   *   FROM   tblName   WHERE   r1=2
union   SELECT   TOP   10   *   FROM   tblName   WHERE   r1=3
union   SELECT   TOP   10   *   FROM   tblName   WHERE   r1=4


[解决办法]
--最新
select * from tblName a where 字段名 in (select top 10 字段名 from tblName where r1 = a.r1 order by 时间 desc)
--随机
select * from tblName a where 字段名 in (select top 10 字段名 from tblName where r1 = a.r1 order by newid())

/*
“字段名”的说明:任选一个在字段,这个字段在相同的栏目里是唯一的,不同的栏目之间有重复没关系。
*/

热点排行