1.update tb set list1=right(list2,1)
2.没看懂什么意思....

解决方案 »

  1.   

    1.
    update t1 set list1=right(list2,1)
    2.
      

  2.   

    create table tb(  list1 varchar(10),   list2 varchar(10))  insert into tb select
         '1' ,      'aac' union select 
         '2' ,      'ff'  union select
         '3' ,      'kl'
    --方法一
    select substring(list2,len(list2),1) as list1,list2
    from tb
    --方法2
    update tb set list1=substring(list2,len(list2),1)select * from tb
      

  3.   

    1.
    declare @t table(list1 varchar(10),list2 varchar(10))
    insert into @t select '1','aac'
    union all select  '2','ff'
    union all select  '3','kl'update @t set list1=right(list2,1)
    select * from @t
      

  4.   

    2.
    list1 list2 list3
    1     2     311
    1     2     312
    1     2     313
    1     2     314
    1     2     315----这种情况应该取出哪条记录啊?
      

  5.   

    1.update tb set list1=right(list2,1)
    2. 分析你的意思,只要list3最后一个数是1~9都可以的,如果是这样那不符合条件的记录用下面的sql来选择:
    select * from tb where right(list3,1) like '[^1-9]%'
      

  6.   

    1.update t1 set list1=right(list2,1)declare  @MYTB TABLE(list1 int,list2 int,list3 int)
    insert into @MYTB select 1,2,311
    insert into @MYTB select 1,2,312
    insert into @MYTB select 1,2,313
    insert into @MYTB select 1,2,2086
    insert into @MYTB select 1,2,2084
    insert into @MYTB select 1,2,2085
    insert into @MYTB select 1,2,92
    insert into @MYTB select 1,2,91
    insert into @MYTB select 1,2,93
    insert into @MYTB select 1,2,23
    insert into @MYTB select 1,2,28
    insert into @MYTB select 1,2,22
    select * from @mytb
    select * from @mytb a where --not exists(
    (select sum(convert(int,right(convert(nvarchar(10),list3),1)))%3 from @mytb 
    where left(convert(nvarchar(10),list3),len(list3)-1)
    =left(convert(nvarchar(10),a.list3),len(a.list3)-1)
    group by list1,list2,left(convert(nvarchar(10),list3),len(list3)-1))<>0
      

  7.   

    有点乱了--1.
    update t1 set list1=right(list2,1)
    --2.建立测试
    declare  @MYTB TABLE(list1 int,list2 int,list3 int)
    insert into @MYTB select 1,2,311
    insert into @MYTB select 1,2,312
    insert into @MYTB select 1,2,313
    insert into @MYTB select 1,2,2086
    insert into @MYTB select 1,2,2084
    insert into @MYTB select 1,2,2085
    insert into @MYTB select 1,2,92
    insert into @MYTB select 1,2,91
    insert into @MYTB select 1,2,93
    insert into @MYTB select 1,2,23
    insert into @MYTB select 1,2,28
    insert into @MYTB select 1,2,22select * from @mytb a where 
    (select sum(convert(int,right(convert(nvarchar(10),list3),1)))%3 from @mytb 
    where left(convert(nvarchar(10),list3),len(list3)-1)=left(convert(nvarchar(10),a.list3),len(a.list3)-1)
    group by list1,list2,left(convert(nvarchar(10),list3),len(list3)-1))<>0结果:
    list1    list2     list3
    1 2 23
    1 2 28
    1 2 22
      

  8.   

    to tntzbzc(华裔大魔王———抗日英雄) 我用你的试试
      

  9.   

    我的意思是 table表中的数据    list1        list2              list3
         1            2          311
         1         2                  312
         1         2                  313
         1         2                  2086
         1         2                  2084
         1         2                  2085
         1.1      2.33        92
         1.1      2.33        91    
         1.1      2.33        93
         118.987 222.658 745
         118.987 222.658 746
         118.987 222.658 747
         87.3          22.54 749
         87.3          22.54 740
         87.3          22.54 741
         77.908 723.438 23
         77.12 723.12 125
         823.3 21.523 740
         823.3 21.523 741
         87 24 747
         87 24 748
         87 24 749每3条可以认为是一个数据段,数据段之间是由list3的最后一个字符区别,例如:前3条记录list3的末尾是123,再3条记录末尾是645,再3条记录末尾是213,再3条记录末尾是567,再3条记录末尾是901,下来的4条记录是杂乱记录,再下来的3条末尾是789,我得要求就是取出下面4条记录:
         77.908 723.438 23
         77.12 723.12 125
         823.3 21.523 740
         823.3 21.523 741解释一下:“77.908,723.438,23”和“77.12,723.12,125”是2条单独的记录,
    “823.3,21.523,740”和“823.3,21.523,741”是连续的,但不能组成连续的3条,所以,都要将它们取出来。
    不知道我说明白了吗?  
    帮帮我哦,谢谢!
      

  10.   

    晕再改一下,你试试declare  @MYTB TABLE(list1 int,list2 int,list3 int)
    insert into @MYTB select 2,2,311
    insert into @MYTB select 2,2,312
    insert into @MYTB select 2,2,313
    insert into @MYTB select 1,21,2086
    insert into @MYTB select 1,21,2084
    insert into @MYTB select 1,21,2085
    insert into @MYTB select 1,22,92
    insert into @MYTB select 1,22,91
    insert into @MYTB select 1,22,93
    insert into @MYTB select 1,3,23
    insert into @MYTB select 1,3,28
    insert into @MYTB select 1,3,22
    insert into @MYTB select 1,22,22select * from @mytb a where 
    (
    select sum(convert(int,right(convert(nvarchar(10),list3),1)))%3 from @mytb 
    where left(convert(nvarchar(10),list3),len(list3)-1)=left(convert(nvarchar(10),a.list3),len(a.list3)-1)
    and list1=a.list1
    and list2=a.list2
    group by list1,list2,left(convert(nvarchar(10),list3),len(list3)-1)
    )<>0
      

  11.   

    结果list1   list2   list3
    1 3 23
    1 3 28
    1 3 22
    1 22 22
      

  12.   

    to tntzbzc(华裔大魔王—抗日英雄—抗日要从娃娃抓起) 大哥 ,不行啊,有的list3 是129,130,131  
    这3条是连续记录,你也取出来了
      

  13.   

    129,130,131  
    ???你不是说
    list3的内容是随机的数字,但是最后一个字符一定是从1到3,或者从4到6,但不是递增顺序,
    list3的最后一位要么1到3,要么4到6    怎么9也跑出来了
      

  14.   

    再改一次
    改晕了
    老兄,早点揭贴啊,你的分数真不好拿
    declare  @MYTB TABLE(list1 int,list2 int,list3 int)
    insert into @MYTB select 2,2,311
    insert into @MYTB select 2,2,312
    insert into @MYTB select 2,2,313
    insert into @MYTB select 1,21,2086
    insert into @MYTB select 1,21,2084
    insert into @MYTB select 1,21,2085
    insert into @MYTB select 1,22,92
    insert into @MYTB select 1,22,91
    insert into @MYTB select 1,22,93
    insert into @MYTB select 1,3,23
    insert into @MYTB select 1,3,28
    insert into @MYTB select 1,3,22
    insert into @MYTB select 1,22,22
    insert into @MYTB select 41,3,19
    insert into @MYTB select 41,3,20
    insert into @MYTB select 41,3,21
    select * from @MYTB
    select * from @mytb a where 
    (not exists(select * from @mytb where list1=a.list1 and  list2=a.list2 and list3=a.list3+1 ) or
    not exists(select * from @mytb where list1=a.list1 and  list2=a.list2 and list3=a.list3-1 )) and 
    (not exists(select * from @mytb where list1=a.list1 and  list2=a.list2 and list3=a.list3+1 ) or
    not exists(select * from @mytb where list1=a.list1 and  list2=a.list2 and list3=a.list3+2 )) and
    (not exists(select * from @mytb where list1=a.list1 and  list2=a.list2 and list3=a.list3-1 ) or
    not exists(select * from @mytb where list1=a.list1 and  list2=a.list2 and list3=a.list3-2 ))
      

  15.   

    list1   list2   list3
    2 2 311
    2 2 312
    2 2 313
    1 21 2086
    1 21 2084
    1 21 2085
    1 22 92
    1 22 91
    1 22 93
    1 3 23
    1 3 28
    1 3 22
    1 22 22
    41 3 19
    41 3 20
    41 3 21
    结果list1  list2   list3
    1 3 23
    1 3 28
    1 3 22
    1 22 22