LoginMenber 表中有字段 LoginID,Email(等于UserTotal表中的UserEmail),TuiJianRen,IsEmail,IsPass
UserTotal 表中有字段 UserEmail,DaiLingTotal
我需要做的是,首先找出LoginMenber表中IsEmail=1,IsPass=1(注册成功的用户) 然后给他们每个注册成功的用户在UserTotal表中的DaiLingTotal字段加5分(根据UserEmail判断是给那个用户加分)然后我再在LoginMenber表中统计该用户一共带领了多少人来注册(每个被带领注册的用户TuiJianRen都有该用户的Email地址)
例如[email protected] 一共带领了3条TuiJianRen为[email protected]的数据他就有3分,然后把这3分加到DaiLingTotal上面去
数据库是用Access求教各位大哥查询后更新的方法。

解决方案 »

  1.   

    找到重复的ID ,先Delete,然后Insert,这样就更新了!
      

  2.   

    我分步走,首先Select Email From LoginMenber
    然后如何分组统计出我刚才查找出来的那条Email字段的数据,在LoginMenber中的TuiJianRen字段有多少个重复呢?
    就说,我如何分组统计出Email字段中的每个在TuiJianRen字段中的重复数例如
    Email              TuiJianRen
    [email protected]         [email protected]
    [email protected]      [email protected]
    [email protected]         [email protected]
    我要统计的就是[email protected]  一共有多少条相同的数据来判断他带领了多少人来注册
    上面的例子就是[email protected]这个人带领了1个人来注册
    [email protected]带领了2个人来注册
    我需要最后现实就是
    [email protected]这个人带领了1个人来注册
    [email protected]带领了2个人来注册
    然后在UserTotal表中
    UpDate UserTotal Set DaiLingTotal=DaiLingTotal + 2 Where UserEmail='[email protected]' 这样操作
    求教各位大哥了
      

  3.   

    因為你要动态的向update中传入某个人带领的注册人数,所以需要写一个存储过程来完成了。或者你在程序里完成也可以。。select count(a.TuiJianRen) count, a.Email 
    from (select * from LoginMenber where IsEmail=1,IsPass=1) a //這一行是查出已註冊用戶用的,會建立一個臨時試圖a供使用
    group by a.Email 
    order by a.Email
    这条SQL可以查出已注册的人所带领注册的用户的用户数,放在count中,不知道你想用什么方式取,如果是C#程序,那当然是很方便的。
    update UserTotal set DaiLingTotal = DaiLingTotal+5+&count where UserEmail = &Email
    这个更新语句有两个地方是变量的,看你以何种方式填入吧。。我想这两条SQL应该满足你的要求了
      

  4.   

    Access不支持4楼所说的方法,
    你那个如果单条sql语句是能获取也不需要那么麻烦
    只要Select Count(LoginID) From LoginMenber Group By TuiJianRen Where IsEmail=1 And IsPass=1即可返回你这样的效果,但是如果要在程序里面执行下一条那需要查询出一个匹配的结果
    UpDate UserTotal Set DaiLingTotal=DaiLingTotal + 5 + (DataTable.Rows[i][0] Where UserEmail=?
    我需要同时查询出该用户的Email地址,不然下一句不能执行