易截截图软件、单文件、免安装、纯绿色、仅160KB

一道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


相关问答:

sql 查询

  我有一个月和日组成的数字,有两组月和日
想在身份证号中挑选出在该该两组月日之间出生的人,不知道应该怎么写.
身份证号有可能是15位或者18位

月日组合的形式如下
10-17/04-20
月-日/月- ......

sql查询疑问

表中按datadate,tradeid为主键,也就是说tradeid会重复出现在不同天中,同一天的tradeid是不同的。现在我希望取一段时间范围内不重复的tradeid,且只要每个tradeid的最后一次出现的那条。sql语句该怎么写

: ......

老问题 通过SQL语句如何删除表中的重复记录?

表a(没有主键)
id          name      age       
----------- ---------- -----------
1          chenqin& ......

sql语句

create table jskb(
编号 int identity(1,1) primary key not null,
姓名 varchar(20) not null,
性别 char(1) not null ,
授课名 varchar(10) not null,
教室号 int(10)
)

错哪呢?
cre ......

SQL问题?

[code=select a.fyear,b.fname,sum(a.fendbal) as fendbal,
'1月'=case when fperiod=1 then sum(a.fendbal) else 0 end ,
'2月'=case when fperiod=2 then sum(a.fendbal) else 0 end ,
& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号