select top 1 * from ryb where xm='张三' order by len(sm) desc

解决方案 »

  1.   

    select xm,max(sm)
    from ryb
    group by xm
      

  2.   

    本帖最后由 DBA_Huangzj 于 2014-09-25 11:15:40 编辑
      

  3.   


    create table  ryb (nam varchar(10),bz varchar(10),sm varchar(20))
    insert into ryb 
    select '张三' as name,null as bz,'你好' as sm union all
     select '李四',null,'啊好吗'
      update ryb set bz='最长'
     where LEN(sm)=(select MAX(len(sm)) from ryb)--结果nam        bz         sm
    ---------- ---------- --------------------
    张三         NULL       你好
    李四         最长         啊好吗(2 行受影响)
      

  4.   

    试一下这句update ryb set bz='最长' from(
    select top 1 * from ryb where xm='张三' order by len(sm) desc) as b where ryb.xm=b.xm and ryb.sm=b.sm
      

  5.   

    版主
    字段sm是字符类型
    max(sm) 还是其本身值
      

  6.   


    这样不行?
    update ryb set bz='最长' 
                           where len(sm)=
     (select top 1 MAX(len (sm)) from ryb)
      

  7.   

    UPDATE  ryb SET  字段=‘’
    where bz=
    (SELECT  TOP 1 bz FROM PRDT ORDER BY LEN(NAME) DESC))
      

  8.   

    UPDATE  ryb SET  字段=‘’
    where bz=
    (SELECT  TOP 1 bz FROM PRDT ORDER BY LEN(bz) DESC))