首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

大伙儿帮忙写两句简单的sql数据库语句

2013-01-08 
大家帮忙写两句简单的sql数据库语句积分表: 字段 Date类型:DateTakeint类型:Scoreint类型:User_IDbit类型:

大家帮忙写两句简单的sql数据库语句
积分表: 字段 Date类型:DateTake  int类型:Score  int类型:User_ID  bit类型:FlagPay
用户表: int类型:User_ID  int类型:Scores 

FlagPay 记录是否已经发放积分
DateTake为发放积分的时间  ,当DateTake < getdate() 的时候,让用户的 Scores 加上积分表中的Score 

大概意思就是 到了时间以后,把积分发给用户。写成sql 语句,麻烦大家帮帮忙,这个我打算用job定时完成

[解决办法]
把这个放到作业里面

update 用户表
set 用户表.scores=积分表.scores
from 用户表 inner join 积分表 on 积分表.User_ID=用户表.User_ID
where 积分表.flagpay='未发放' and CONVERT(DATETIME,CONVERT(VARCHAR(20),DateTake ,121))<getdate()

[解决办法]
GO
WITH    tb
          AS ( SELECT   USER_ID ,
                        Score
               FROM     积分表
               WHERE    DateTake < CONVERT(DATE, GETDATE())
                        AND FlagPay = 0
             )
    UPDATE  用户表
    SET     用户表.Score = 用户表.Score + tb.Score
    FROM    tb
    WHERE   用户表.USER_ID = tb.USER_ID

热点排行