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

最近日期的条件查询解决方法

2012-04-17 
最近日期的条件查询CREATE TABLE [dbo].[TABLE1] ([ID] [int] IDENTITY (1, 1) NOT NULL ,[Type] [char] (

最近日期的条件查询
CREATE TABLE [dbo].[TABLE1] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Type] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[Date] [datetime] NULL ,
[Price] [money] NULL 
) ON [PRIMARY]
--数据
1A 2007-01-01 00:00:00.0001.0000
2B 2008-08-09 00:00:00.0002.0000
3A 2007-08-01 00:00:00.000.5000
4A 2001-01-01 00:00:00.000.5000



有一个查询是这么写的
SELECT min(price) FROM TABLE1 where [date]>'2008-8-8' and Type<>'B'

当数据如上面时,即大于2008-8-8日期没有数据时,
查询的最小单价为 小于2008-8-8的最近日期的那个单价,即使红色那条

请问SQL如何实现? 


押宝没分啦,最后一分献上.

后面会补上分。
 

[解决办法]

SQL code
select top(1) * from tb where not exists(select 1 from tb [date]>'2008-8-8' and Type<>'B')and [date]< '2008-08-08'order by date desc
[解决办法]
同样的效果吧。
[解决办法]
你这是2010年,不可能比2008年要小啊。
[解决办法]
SQL code
select max([date]),min(price) from t1 where [date]<'2008-8-8' and type<>'B' 

热点排行