红色的是上次检验的时间是重复的,我们现在只要取其中数值小的那个,也就是:如果“上次检验时间"相同, 只取工时小的那个 Min(工时)。
要求:将“上次检验时间”相同的只取其中小的,并对“唯一班次”相同的工时进行累加
表名:月工作量评定表表名              检验时间           唯一班次       线号    品管员    工时 上次检验时间
月工作量评定表    2010-1-2 8:20    2010-1-2 8:00    A       001      20           2010-1-2 8:00
月工作量评定表    2010-1-2 9:20    2010-1-2 8:00    A       001      60           2010-1-2 8:20月工作量评定表    2010-1-2 10:20   2010-1-2 8:00    A       001      60           2010-1-2 9:20
月工作量评定表    2010-1-2 11:20   2010-1-2 8:00    A       001      60           2010-1-2 10:20
月工作量评定表    2010-1-2 12:20   2010-1-2 8:00    A       001      240          2010-1-2 8:20月工作量评定表    2010-1-2 13:20   2010-1-2 8:00    A       001      60           2010-1-2 12:00
最好能写详细的程序,我不会编,谢谢了先!!!

解决方案 »

  1.   

    --> 测试数据:[月工作量评定表]
    if object_id('[月工作量评定表]') is not null drop table [月工作量评定表]
    create table [月工作量评定表]([表名] varchar(14),[检验时间] datetime,[唯一班次] datetime,[线号] varchar(1),[品管员] varchar(3),[工时] int,[上次检验时间] datetime)
    insert [月工作量评定表]
    select '月工作量评定表','2010-1-2 8:20','2010-1-2 8:00','A','001',20,'2010-1-2 8:00' union all
    select '月工作量评定表','2010-1-2 9:20','2010-1-2 8:00','A','001',60,'2010-1-2 8:20' union all
    select '月工作量评定表','2010-1-2 10:20','2010-1-2 8:00','A','001',60,'2010-1-2 9:20' union all
    select '月工作量评定表','2010-1-2 11:20','2010-1-2 8:00','A','001',60,'2010-1-2 10:20' union all
    select '月工作量评定表','2010-1-2 12:20','2010-1-2 8:00','A','001',240,'2010-1-2 8:20' union all
    select '月工作量评定表','2010-1-2 13:20','2010-1-2 8:00','A','001',60,'2010-1-2 12:00'select * from [月工作量评定表]--==================================
    select A.* 
    from [月工作量评定表] A
    where A.[工时] =
    (select min([工时]) from [月工作量评定表] 
    where [上次检验时间]= A.[上次检验时间])--===================================
    /*
    表名 检验时间 唯一班次 线号 品管员 工时 上次检验时间
    月工作量评定表 2010-01-02 08:20:00.000 2010-01-02 08:00:00.000 A 001 20 2010-01-02 08:00:00.000
    月工作量评定表 2010-01-02 09:20:00.000 2010-01-02 08:00:00.000 A 001 60 2010-01-02 08:20:00.000
    月工作量评定表 2010-01-02 10:20:00.000 2010-01-02 08:00:00.000 A 001 60 2010-01-02 09:20:00.000
    月工作量评定表 2010-01-02 11:20:00.000 2010-01-02 08:00:00.000 A 001 60 2010-01-02 10:20:00.000
    月工作量评定表 2010-01-02 13:20:00.000 2010-01-02 08:00:00.000 A 001 60 2010-01-02 12:00:00.000*/
    这样?》