一道sql笔试题
Table bidrank(vendorcode char(10),price money,submittime datetime,rank int)是一个用来保存供应商报价资料的表,
其中vendorcode:是供应商代码
price:为报价
rank:为供应商报价排名
问题:下面是用T-sql语言给供应商加上排名的程序。
排名规则为:名次按报价从大到小排列,如果价格相同,则按时间先后次序排名。
请在各空白处填上适当的语句,以实现这一功能。(假设排名前rank的初始值为0)
create procedure refreshRank_sp
as
declare @CurrentRank int ,@vendorCode nvarchar(20)
set @quoteByvendor= cursor scroll for
select vendorcode from bidrank _______________
open @quoteByvendo
________________________
select @CurrentRank=1
while(_____________)
begin
update bidrank
set rank=@CurrentRank
where vendorcode=@vendorcode
fetch next from @quoteByvendor into @vendorcode
select @CurrentRank=_____________________
end
return 0
go
各位大虾帮着看看,谢了
select vendorcode from bidrank k where not exists(select * from bidrank where (k.price=price and submittime <k.submittime) or (price <k.price))
fetch next from @quoteByvendor into @vendorcode
while @@fetch_status=0
select @CurrentRank=@CurrentRank+1
order by price desc
fetch next from @quoteByvendor into @vendorcode
@@fetch_status=0
@Curr
相关问答:
根据班级分组,统计平均分和不及格的个数.
我的想法是这样的.
Select avg(testScore) as 平均分, count(testScore <600) as 不及格数 , from [Person] Group by Class
但是count(testScore <60 ......
DateTime startTime=DateTime(em_1.Text)
DateTime endTime=DateTime(em_2.Text)
string sql
sql = dw_1.GetSQLSelect()+"Where (StartTime> '"+startTime+"') and (EndTime ......
# Student(S#,Sname,Sage,Ssex) 学生表
# Course(C#,Cname,T#) 课程表
# SC(S#,C#,score) 成绩表
# Teacher(T#,Tname) 教师表
求一sql:
把 ......
删除northwind所有表中所有的数据
SQL code:
--删除当前数据库所有表中的数据
sp_MSforeachtable 'Delete from ?'
sp_MSforeachtable @command1="Delete from ? "
sp_MSforeachtable 'Truncate Ta ......