update tblname set 等级字段="A" where 3<(select count(*) from tblname2 where id>10 )

解决方案 »

  1.   

    update tblname set 等级字段="A" where 3<(select count(*) from tblname2 where id>10 )
      

  2.   

    并且要判断ID的子ID的子ID
    >10and(子ID的子ID有4个)
    某ID如上这样的子ID有三个
      

  3.   

    update tblname1
       set 等级字段='A' 
     where id > 10
       and subid in (Select subid from tablename2
                      Group by subid
                        Having Count(subid) = 3)
      

  4.   

    我的理解是:
    把((有三个(值>10的子子ID))的记录)的"等级"设为A.
    UPDATE abc
    SET 等级 = 'A'
    WHERE (3 <=
              (SELECT COUNT(*)
             FROM abc abc1
             WHERE 值 > 10 AND 父编号 IN
                       (SELECT 编号
                      FROM abc abc2
                      WHERE 父编号 = abc.编号)))
      

  5.   

    确实
    我自己也看不懂了这样吧,详细点说,树形结构
    ID  父ID 值 等级 百分数等级有三种 a b c
    举个特例:ID=2,如果值大于10,并且搜索父ID=2的所有记录,在这些记录(每一个父ID=2的子树)里再判断,看他们的子树是否有大于4个的,这样就判断出ID=2的节点有多少子树成活的。即:每个子树下如果有4个孙子树,则子树成活,如有3个这样的子树则,而且值大于10,则该树成活,等级上升 ,百分数+20
      

  6.   

    不大明白你的意思
    我的理解是:ID(主)的子ID(一级)的子ID(二级)的值> 10
    并且子ID(一级)的子ID(二级)有四个
    如果符合上述条件的ID(主)的子ID(一级)的个数有三个则更新
    是这样吗?
    update tblname
       set 等级字段='A' 
     where 子ID(二级) > 10
       and 主ID in (Select 主ID from tablename
                      Group by 主ID 
                        Having Count(ID(一级)) = 3)
       and 子ID(一级) in (Select 子ID(一级) from tablename
                           Group by 子ID(一级)
                             Having Count(子ID(二级)) = 4) 
      

  7.   

    不明白你的等级上升是什么意思,现在就当是上升到A吧;
    看明的了一点点,呵呵;上边那个只要改一下就可以了;update tblname
       set 等级字段='A', 百分数 = 百分数 + 0.2
     where 子ID(二级) > 10
       and 主ID in (Select 主ID from tablename
                      Group by 主ID 
                        Having Count(ID(一级)) >= 3)
       or 子ID(一级) in (Select 子ID(一级) from tablename
                           Group by 子ID(一级)
                             Having Count(子ID(二级)) >= 4) 
      

  8.   

    只要主ID>10就行主要是判断 ID有几个一级ID(的子ID(二级)个数是4的)
      

  9.   

    UPDATE abc
    SET 等级 = 'A'
    WHERE (ID IN
              (SELECT 父ID
             FROM abc
             WHERE ID IN
                    (SELECT 父ID
                      FROM abc
                      GROUP BY 父ID
                      HAVING COUNT(*) >= 4)
             GROUP BY 父ID
             HAVING COUNT(*) >= 3)) AND (值 > 10)
    如果子ID也必须值>10:
    UPDATE abc
    SET 等级 = 'A'
    WHERE (ID IN
              (SELECT 父ID
             FROM abc
             WHERE 值 > 10 AND ID IN
                       (SELECT 父ID
                      FROM abc
                      GROUP BY 父ID
                      HAVING COUNT(*) >= 4)
             GROUP BY 父ID
             HAVING COUNT(*) >= 3)) AND (值 > 10)
      

  10.   

    UPDATE abc
    SET 等级 = 'A'
    WHERE (ID IN
              (SELECT 父ID
             FROM abc
             WHERE 值 > 10 AND ID IN
                       (SELECT 父ID
                      FROM abc
                      GROUP BY 父ID
                      HAVING COUNT(*) >= 4)
             GROUP BY 父ID
             HAVING COUNT(*) >= 3)) AND (值 > 10)