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())
/*
“字段名”的说明:任选一个在字段,这个字段在相同的栏目里是唯一的,不同的栏目之间有重复没关系。
*/