读书人

取最大日期的值的有关问题?

发布时间: 2012-05-21 18:04:41 作者: rapoo

取最大日期的值的问题?~在线等
(无列名)hhtjbhdwmc
2012-01-06 00:00:00.0001000030000盘点录入
2011-12-27 00:00:00.000100008期初录入
2011-12-30 00:00:00.000100011kh0001山东康惠医药有限公司
2012-05-17 00:00:00.000100011SDRZ001山东瑞中医药有限公司
2012-01-06 00:00:00.0001000110000盘点录入
2011-12-27 00:00:00.000100011期初录入
2012-02-11 00:00:00.000100015ytlhzs0001烟台联合众生医药有限公司(代销)(王巍)
2012-01-16 00:00:00.000100015AHS004安徽省华仁医药经营有限公司
2012-01-21 00:00:00.00010001510054河北瑞健盛康医药有限公司
2012-01-21 00:00:00.0001000150000盘点录入
2011-12-27 00:00:00.000100015期初录入
我的语句如下,我已经指定max了,为什么后面还出来那么多别的日期的。

SQL code
SELECT MAX(kdrq),hh,tjbh,dwmc FROM rkdzk GROUP BY hh,tjbh,dwmc ORDER BY hh 


最后达到如下要求:只保留一条最大日期下的数据
(无列名)hhtjbhdwmc
2012-01-06 00:00:00.0001000030000盘点录入
2011-12-27 00:00:00.000100008期初录入
2012-05-17 00:00:00.000100011SDRZ001山东瑞中医药有限公司
2012-02-11 00:00:00.000100015ytlhzs0001烟台联合众生医药有限公司(代销)(王巍)

另:如果最大日期的 dwmc 是盘点录入,就取第二日期的数据。


[解决办法]
SQL code
select kdrq,hh,tjbh,dwmc    from rkdzk t1    where kdrq=(select max(kdrq) from rkdzk t2     where t1.hh=t2.hh and t1.dwmc=t2.dwmc)--where t1.hh=t2.hh and t1.dwmc=t2.dwmc此处有几个条件自已去关联
[解决办法]
SQL code
SELECT      kdrq,hh,tjbh,dwmc FROM      rkdzk AWHERE       kdrq=(SELECT MAX(kdrq) FROM rkdzk B            WHERE A.hh=B.hh)--或者:SELECT      kdrq,hh,tjbh,dwmc FROM      rkdzk AWHERE     NOT EXISTS(       SELECT 1 FROM rkdzk B            WHERE A.hh=B.hh                AND A.kdrq<B.kdrq     )--我需要给楼主说一句,你在非技术版的帖子我没半点瞧不起你的意思,更没半点侮辱你的意思,我也没说一句攻击你的话,我引用别人的只是觉得那会说的不尊重人。那猴子是笑么?分明就是觉得很无奈,明白吗? 

读书人网 >SQL Server

热点推荐