问题是这样子的
有二个表Online(lineid,topic,content,quantity),OnlineCount(countid,topic,content,quantity)
其中Online是主表,OnlineCount是一个附表。我现在要实现,如果在OnlineCount表中有与online表一样的数据,也就是topic,content都一样
那我们就更新quantity(即online.quantity=online.quantity+onlinecount.quantity).如果onlineCount表中的数据,在online表中没有,那我们就得把OnlineCount表中的此条数据,新增到online表中上面的意思,大概就是Online是一个主表,而onlinecount是一个附表,也就是一个日志表,每天都得把这些日志记录,写到online表中,以保证数据的完整。希望各路大侠能够帮帮小弟偶,分不够,可以再加。
谢谢

解决方案 »

  1.   

    应该可以用存储过程判断如果没有这条数据就insert一条新的数据进去。有就直接更新就好啦.
      

  2.   

    create proc proc_t
    as
    update online set quantity=quantity+(select quantity from OnlineCount where topic=online.topic and content=online.content) select countid into #tmp from onlinecount a Inner Join online b On a.topic=b.topic and a.content=b.content
    insert online select * from onlinecount where countid not in (select countid from #tmp)
    drop table #tmp你这个onlinecount表中被更新过的东东应该作标记