求助:查询两列最大值的SQL

g394594141 2009-11-09 09:43:05
表结构
列1 列2
1 2008 2009
2 2007 2006

想得到的结果
select * from 表名 where Year(getdate())> (列1和列2的最大值)

第一行的数据 2008,2009, 求出两列最大值就是2009
第二行的数据 2007,2006, 求出两列最大值就是2007


如果Year(getdate()) 是2009,就只能检索出第二条数据出来。

不知道我说清楚没有。

请大侠们帮帮忙~·

数据库是Sqlserver2005
...全文
157 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
g394594141 2009-11-09
谢谢各位,我本机运行不起,只有等明天去公司在验证。而公司里我又上不起网,所以不知道各位的是不是对的。不过我想应该能行,所以我先结贴了~~

再次感谢~~
回复
--小F-- 2009-11-09
select 
*
from t
b
where
Year(getdate())> case when col1 > col2 then col1 else col2 end
回复
SQL77 2009-11-09
[Quote=引用 2 楼 happyflystone 的回复:]
select * from 表名 where Year(getdate())> case when col1 > col2 then col1 else col2 end
[/Quote]
我还用减了,晕,直接比多好呀
回复
SQL77 2009-11-09
select * from 表名 where Year(getdate())>
CASE WHEN COL1-COL2<0 THEN COL2 ELSE COL1 END
?
回复
百年树人 2009-11-09
select * from 表名 
where Year(getdate())>case when 列1>列2 then 列1 else 列2 end
回复
liangCK 2009-11-09
就两列..
case when比较一下.

case when 列1>列2 then 列1 else 列2 end
回复
-狙击手- 2009-11-09
select * from 表名 where Year(getdate())> case when col1 > col2 then col1 else col2 end
回复
SQL77 2009-11-09
SELECT CASE WHEN COL1-COL2<0 THEN COL2 ELSE COL1 END FROM TB
?
回复
发动态
发帖子
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
社区公告
暂无公告