刚学游标,请教导一下,在线等!
declare @xx nvarchar(15),@yy nvarchar(15)declare zz cursor for
select 物品名称,出口规格 from 班报表2 where 出口重量>'10' and 出口规格='0.3*1003*C'
print '出口重量大于10吨的有'
open zz
fetch next from zz into @xx,@yy
while @@fetch_status = 0
begin
fetch next from zz into @xx,@yy
print '物品名称'++' '+'出口规格'
print @xx+@yy
end
close zz
deallocate zz
我希望得到的结果是,当我的出口重量 <=100 或 在100到120之间,就不再取下一条记录。在线急等回复,谢谢了。
另:为什么我显示的两个字段结果这什么贴着这么近啊?[attach]32817[/attach]我希望是像右边那样子的。谢了。 在
declare zz cursor for
select 物品名称,出口规格 from 班报表2 where 出口重量>'10' and 出口规格='0.3*1003*C'
加上在100和120之间就可以 不好意思,应该是当出口重量的合SUM(出口重量)<=100 or 在100与120之间 要么写select写sum(出口重量)
要么你
select 物品名称,出口规格,出口重量 from 班报表2 where 出口重量>'10' and 出口规格='0.3*1003*C'
在这把出口重量也输出
fetch next from zz into @xx,@yy,@出口重量变量
set @总重量=@总重量+@出口重量变量
if @总重量 ...条件.
break --退出循环.
...
...
--关闭游标. declare @xx nvarchar(15),@yy nvarchar(15)
declare @zz float,@aa float
declare zz cursor for
select 物品名称,出口规格,出口重量 from 轧机班报表2 where 出口重量>'15' and 出口规格='0.3*1003*C'
group by 物品名称,出口规格,出口重量
print '出口重量大于10吨的有'
open zz
fetch next from zz into @xx,@yy,@zz
set @aa=@aa+@zz
if @aa>=100
begin
while @@fetch_status = 0
begin
fetch next from zz into @xx,@yy,@zz
print @xx+@yy+@zz
end
close zz
deallocate zz
斑猪!请指导一下好吗?搞了半天搞不出来。 晕死.. [bc07] 帮帮吧,哭死
declare @xx nvarchar(15),@yy nvarchar(15)
declare @zz float,@aa float
set @aa=@aa+@zz
declare zz cursor for
select 物品名称,出口规格,出口重量 from 轧机班报表2 where 出口重量>'15' and 出口规格='0.3*1003*C'
group by 物品名称,出口规格,出口重量
print '出口重量大于10吨的有'
open zz
fetch next from zz into @xx,@yy,@zz
while @@fetch_status = 0
begin
if @aa>=100
begin
fetch next from zz into @xx,@yy,@zz
END
print @xx+@yy+@zz
end
close zz
deallocate zz
[bo][font=黑体][color=Red]将数据类型 nvarchar 转换为 float 时出错。[/color][/font][/bo]
[[it] 本帖最后由 roy78 于 2008-3-8 11:06 编辑 [/it]] declare @xx nvarchar(15),@yy nvarchar(15),@zz nvarchar(8)
declare @aa float
declare zz cursor for
select 物品名称,出口规格,出口重量 from 班报表2 where 出口重量>'15' and 出口规格='0.3*1003*C'
group by 物品名称,出口规格,出口重量
print '出口重量大于10吨的有'
open zz
fetch next from zz into @xx,@yy,@zz
while @@fetch_status = 0
begin
set @aa=@aa+@zz
if @aa>=100
begin
fetch next from zz into @xx,@yy,@zz
END
print @xx+@yy+@zz
end
close zz
deallocate zz
还是不对呀,高手指点一下吧。当合计值 >=100 或者 在100—120之间时,停止取下条记录 高手们帮帮忙吧。
页:
[1]
