考虑:SQL Server:如何使用UNION和两个查询都有WHERE子句?
select top 2 t1.ID, t1.ReceivedDate
from Table t1
where t1.Type = 'TYPE_1'
order by t1.ReceivedDate desc
而且:需要过滤
两个查询
select top 2 t2.ID
from Table t2
where t2.Type = 'TYPE_2'
order by t2.ReceivedDate desc
另外,这些返回ID
了,我就是在寻找:(13,11和12,6)
基本上,我想要两个特定的最近两个记录数据的pes。
我想联盟这两个查询等一起这样:
select top 2 t1.ID, t2.ReceivedDate
from Table t1
where t1.Type = 'TYPE_1'
order by ReceivedDate desc
union
select top 2 t2.ID
from Table t2
where t2.Type = 'TYPE_2'
order by ReceivedDate desc
问题:
的问题是,这种查询是无效的,因为第一select
不能有order by
条款,如果它是正在unioned
。如果没有order by
,它不能有top 2
。
我该如何解决这种情况?
我想你的意思是,你有'顺序''不''哪里'的麻烦。 – 2011-03-24 23:39:19