--参考/*
有如下數据行: ID    isoa001    isoa004
  1    MO1-001       1
  2    MO1-001       2
  3    MO1-001       3
  4    MO1-002       1
  5    MO1-002       2  
  6    MO1-003       1
  7    MO1-003       0
想取得的數据是:
 ID    isoa001    isoa004  
  3    MO1-001       3
  5    MO1-002       2
  7    MO1-003       1就是不同文件編號(isoa001)的值取它各自
以版本(iso004)最大的那條記錄.請問該
SQL語句如何寫法?
*/declare @a table(id int,isoa001 varchar(20),isoa004 varchar(20))
insert @a(id,isoa001,isoa004)
values(1,'MO1-001','1')
insert @a(id,isoa001,isoa004)
values(2,'MO1-001','2')
insert @a(id,isoa001,isoa004)
values(3,'MO1-001','3')
insert @a(id,isoa001,isoa004)
values(4,'MO1-002','1')
insert @a(id,isoa001,isoa004)
values(5,'MO1-002','2')
insert @a(id,isoa001,isoa004)
values(6,'MO1-003','1')
insert @a(id,isoa001,isoa004)
values(7,'MO1-003','0')--select * from @a
select max(ID),isoa001,max(isoa004) from @a group by isoa001

解决方案 »

  1.   

    老兄,储存过程不是很懂,能不能写成直接用的SQL语句
    ???
      

  2.   

    楼主,上面不是存储过程,是SQL语句:---------建立测试环境
    declare @a table(id int,isoa001 varchar(20),isoa004 varchar(20))
    insert @a(id,isoa001,isoa004)
    values(1,'MO1-001','1')
    insert @a(id,isoa001,isoa004)
    values(2,'MO1-001','2')
    insert @a(id,isoa001,isoa004)
    values(3,'MO1-001','3')
    insert @a(id,isoa001,isoa004)
    values(4,'MO1-002','1')
    insert @a(id,isoa001,isoa004)
    values(5,'MO1-002','2')
    insert @a(id,isoa001,isoa004)
    values(6,'MO1-003','1')
    insert @a(id,isoa001,isoa004)
    values(7,'MO1-003','0')
    ---------------------
    --select * from @a
    ----------运行 ,就这一句
    select max(ID),isoa001,max(isoa004) from @a group by isoa001