读书人

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

发布时间: 2013-01-08 14:02:14 作者: rapoo

大家帮忙写两句简单的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

读书人网 >SQL Server

热点推荐