读书人

union多表联合查询并且每个表都能重

发布时间: 2012-01-29 21:39:32 作者: rapoo

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())

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

读书人网 >SQL Server

热点推荐