各位高手好~有个问题我想听听大家有什么更好的解决办法,BOSS给了我两张表Equipment和ProductPlan
CREATE TABLE [dbo].[Equipment] (
[Equipment] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Code] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Description] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Testtime] [float] NOT NULL ,
[MachineQuantity] [int] NOT NULL ,
[ParallelTestQuantity] [int] NULL 
解释:
Equipment是设备名称
Code 是能被这种设备测试的产品编号
Description 是对Code的描述
Testtime是这种产品在设备上的测试时间
MachineQuantity 是指设备的数量
ParallelTestQuantity 是指可以同时测试多少数量的产品
###########################################
CREATE TABLE [dbo].[ProductPlan] (
[Product] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Family] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Code] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Description] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Num] [int] NOT NULL ,
[Month] [smalldatetime] NOT NULL ,
[Rohs] [char] (5) COLLATE Chinese_PRC_CI_AS NOT NULL 
解释:
Product 产品系列名称
Family  产品的家族
Code 产品的编号
Description 是对Code的描述
Num 数量
Month 月份
Rohs  是否符合rohs标准的检验位(Y or N)
Boss所期望的是由这两张表可以得到一张估算表例如code为1111111111的产品在10月份rohs=y的数量有700,
能测试此产品的设备为Equipment=E7,Testtime为4分钟 那么4×700=2800分钟,有两种工种,分别上8小时和11小时,2800/60/8=5.8天,2800/60/11=4.24天我写了一个存储过程,来完成上述要求
并且用ASPNET在页面上表示出来
CREATE PROCEDURE WorkLoadtest  
(
@code varchar (50),
@month smalldatetime,
@rohs char(5)
)AS
drop table EquipmentTemp
select * into EquipmentTemp from equipment where equipment.code=@code
select EquipmentTemp.equipment, EquipmentTemp.code, EquipmentTemp.[Description],Productplan.num,convert(decimal(18,2),EquipmentTemp.testtime*productplan.num) [time], 
convert(decimal(18,2),EquipmentTemp.testtime*productplan.num/60/8) Hours8, convert(decimal(18,2),EquipmentTemp.testtime*productplan.num/60/11) Hours11 from EquipmentTemp, Productplan 
where productplan.code=EquipmentTemp.code and Productplan.num>0 and rohs=@rohs and productplan.[month]=@month
GO大家有什么好的意见,有什么地方可以改进么?