SQL漲幅

hehui811210 2008-03-18 09:41:45
您好,我想請教一下:就是如何將同一張中的數據,按一定的順序,如A,B,C三個料號,A料號有幾筆訂單,請問如何計算各訂單的漲幅
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenxin2835 2008-03-19
  • 打赏
  • 举报
回复
--实现的存储过程
Alter Proc sp_LHZF as

Create Table #Temp1(
DDID nvarchar(50),
LHName nvarchar(50),
LHQY int,
ZF nvarchar(10)
)

insert #Temp1(DDID,LHName,LHQY,ZF)
Select D.DDID,L.LHName,D.LHQY,0 as ZF
From LHList L LEFT OUTER JOIN DDList D ON L.LHID=D.LHID
Order by L.LHName,D.DDDate

Declare QY Cursor SCROLL --滚动游标,无Scroll则是只进游标
For Select DDID from #Temp1

Declare @D nvarchar(50),
@N1 nvarchar(50),
@N2 nvarchar(50),
@Q1 nvarchar(50),
@Q2 float,
@Q3 float

Open QY
Fetch First From QY into @D
While @@Fetch_Status = 0
Begin

Select @Q3=LHQY,@N2=LHName from #Temp1
Where DDID=@D

IF @N2=@N1
Begin
IF @Q2<>0
set @Q1=Convert(nvarchar(10),Round((@Q3-@Q2)/@Q2,2)*100)+'%'
Else
Set @Q1=0
End
Else Set @Q1=@N2+'号料涨幅:'
Set @N1=@N2

Update #Temp1
Set ZF=@Q1
WHERE DDID=@D

Set @Q2=@Q3

Fetch Next From QY into @D
end

close QY
deallocate QY

Select * From #Temp1
chenxin2835 2008-03-19
  • 打赏
  • 举报
回复
--假设前提为:
Create Table LHList(
LHID int IDENTITY(1,1),--料号ID
LHName nvarchar(50),--料号名
)
GO

Create Table DDList(
DDID nvarchar(50) Primary Key,--订单ID
LHID int,
LHQY int,--料号数量
DDDate Datetime,--订单时间
)
GO

Insert LHList(LHName) Values('A')
Insert LHList(LHName) Values('B')
Insert LHList(LHName) Values('C')
GO

Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX001',1,500,GetDate())
Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX002',1,1500,GetDate())
Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX007',1,5000,GetDate())
Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX003',2,300,GetDate())
Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX004',2,900,GetDate())
Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX008',2,3800,GetDate())
Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX005',3,250,GetDate())
Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX006',3,700,GetDate())
Insert DDList(DDID,LHID,LHQY,DDDate) Values ('XX009',3,2600,GetDate())
GO
you_tube 2008-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
需求不明确,无解
[/Quote]
青锋-SS 2008-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
需求不明确,无解
[/Quote]
utpcb 2008-03-18
  • 打赏
  • 举报
回复
引用 1 楼 dawugui 的回复:
需求不明确,无解
山之魂2 2008-03-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dawugui 的回复:]
需求不明确,无解
[/Quote]
dawugui 2008-03-18
  • 打赏
  • 举报
回复
需求不明确,无解

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧