先前实现过的,还记录了Blog.不过这次有点不一样,记录一下。感谢fredrickhu

求同一商品不同代理在相同条件下的最新价 ,如题


表:

商品代号    代理号      型号      代理价    生效日

1001      A01          H042        3.80      2009-11-12

1002      B37          H042        5.80      2009-11-13

1001      B01          H052        5.80      2009-11-10

1003      B48          H032        3.8        2009-11-17

1002      B37          H042        6.87      2009-10-15


要获取如下结果

1001      A01          H052        3.80      2009-11-12

1002      B37          H042        5.80      2009-11-13


我不知是想混淆了还是怎样,很早前做过一次这样的,可是现在感觉不对,我当初是这样做的

相同记录行如何取最大值
http://www.dezai.cn/blog/article.asp?id=201

但现在是同一商品不同代理在相同条件下的最新价,好像这样是取不到的,请教大家如何实现,谢谢。



solution:

----------------------------------------------------------------
-- Author  :fredrickhu(小F,向高手学习)
-- Date    :2009-11-17 23:00:18
-- Version:
--      Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
--    Nov 24 2008 13:01:59
--    Copyright (c) 1988-2005 Microsoft Corporation
--    Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([商品代号] int,[代理号] varchar(3),[型号] varchar(4),[代理价] numeric(3,2),[生效日] datetime)
insert [tb]
select 1001,'A01','H042',3.80,'2009-11-12' union all
select 1002,'B37','H042',5.80,'2009-11-13' union all
select 1001,'B01','H052',5.80,'2009-11-10' union all
select 1003,'B48','H032',3.8,'2009-11-17' union all
select 1002,'B37','H042',6.87,'2009-10-15'
--------------开始查询--------------------------
求同一商品不同代理在相同条件下的最新价 程序代码
select
  *
from
  tb  t
where
  not exists(select 1 from tb where 商品代号=t.商品代号 and 代理号=t.代理号 and 型号=t.型号 and 代理价>t.代理价)



----------------结果----------------------------
/*商品代号        代理号  型号   代理价                                     生效日
----------- ---- ---- --------------------------------------- -----------------------
1001        A01  H042 3.80                                    2009-11-12 00:00:00.000
1001        B01  H052 5.80                                    2009-11-10 00:00:00.000
1003        B48  H032 3.80                                    2009-11-17 00:00:00.000
1002        B37  H042 6.87                                    2009-10-15 00:00:00.000

(4 行受影响)
*/


来源:

http://www.dezai.cn/Blog/article.asp?id=288

贴子:
http://topic.csdn.net/u/20091117/22/98dafeeb-fd09-4360-98b1-0ee5cc62e5cf.html?50267124

相关文章:

  • 2021-07-23
  • 2022-12-23
  • 2022-12-23
  • 2018-03-17
  • 2022-12-23
  • 2021-05-17
  • 2022-12-23
  • 2021-11-25
猜你喜欢
  • 2021-08-10
  • 2021-10-13
  • 2021-05-27
  • 2021-09-01
  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案