你应该有交费记录,也应该有交费标志(eg:flag 0代表没有交费,1代表交费)
这样不就可以查询了
这样不就可以查询了
解决方案 »
- 求指教在数据库中用户登录密码是如何加密成串的
- 请教:主键以数字+英文怎么样自动增长
- 事件探查器跟踪不到?
- 请教各位关于远端连接数据库复制表数据的问题
- 从二张表中提取数据
- 求教﹐關于在sql server中建立用戶的問題。。。。。
- 关于触发器创建的问题.对象名无效..
- SQL Server Management Studio Express 和SQL Server Management Studio各是什么?有
- 请问一个xml转换成text 或varchar(8000)的问题
- 来给我的SQL挑个错误。
- 100分求这个查询的SQL语句(进来看看)分不够再开贴给!!!
- sql语句中的列名怎么才能用变量代替,请看详情
要交了费才有这个月的记录ALTER procedure sp_txbd_dl_list
@UserID nvarchar(8),
@UserName nvarchar(50),
@Sdate nvarchar(10),
@UserTel nvarchar(20),
@ByqID nvarchar(10),
@Bl nvarchar(10),
@UserAdd nvarchar(80),
@Djlb nvarchar(50),
@A_Dbbh nvarchar(20),
@A_Sybd bigint,
@A_Bybd bigint,
@B_Dbbh nvarchar(20),
@B_Sybd bigint,
@B_Bybd bigint,
@C_Dbbh nvarchar(20),
@C_Sybd bigint,
@C_Bybd bigint,
@Dl float(8),
@Dj float(8),
@Df float(8),
@Res nvarchar(260)
as
insert into dl_user_bd_list
(UserID,UserName,Sdate,UserTel,ByqID,Bl,UserAdd,Djlb,A_Dbbh,A_Sybd,A_Bybd,B_Dbbh,B_Sybd,B_Bybd,C_Dbbh,C_Sybd,C_Bybd,Dl,Dj,Df,Res,PrintBZ,uLock)
values
(@UserID,@UserName,@Sdate,@UserTel,@ByqID,@Bl,@UserAdd,@Djlb,@A_Dbbh,@A_Sybd,@A_bybd,@B_Dbbh,@B_Sybd,@B_bybd,@C_Dbbh,@C_Sybd,@C_bybd,@Dl,@Dj,@Df,@Res,'No','0')
担心存在sdate数据为:2005-5-1这样不规范得数据,所以转化为datetime数据类型,如果数据规范,可以直接max.
通过查找最近交费的来获取。如果以前的数据不连续,则此过程不能找到以前的未交费的记录。
*/
declare @int int,@sum varchar(200),@lastdt datetime
select @lastdt=max(convert(datetime,sdate)) from dl_user_bd_list
select @int=datediff(m,@lastdt,getdate())
select @sum=''
while @int>0
begin
select @sum=@sum+','+convert(varchar(7),dateadd(m,-@int+1,getdate()),120)
select @int=@int-1
end
select @sum=stuff(@sum,1,1,'')
select @sum