小弟编了段代码:
set nocount on
SELECT t1.FDate AS '日期',
t1.FBillNo as '单据号码',
t3.FNumber as '物料代码',
t3.FName AS '物料名称',
t3.FModel AS '规格型号',
t4.FName AS '单位',
CASE WHEN t1.FTranType in (1,2,5,10,40,101,102)Or (t1.Ftrantype=100 And t1.FBillTypeID=12542) THEN t2.FQty ELSE 0 END AS '收入数量',
CASE WHEN t1.FTranType in (21,24,28,29,43)Or (t1.Ftrantype=100 And t1.FBillTypeID=12541) THEN t2.FQty ELSE 0 END AS '发出数量'
FROM ICStockBill t1,ICStockBillentry t2,t_ICItem t3,t_MeasureUnit t4
WHERE t1.FInterID=t2.FInterID
AND t2.FItemID=t3.FItemID
AND t4.FItemID=t3.FUnitID
AND t4.FStandard=1
AND t1.FDate>='2008-01-01'
and t1.FDateand t1.FStatus>0 and t1.FCancelLation = 0
order by t3.FNumber,t1.FDate
能得到正确的数据,现在我想先添加“期初结存数量”FBegQty,请问该怎么添加?
我是这样操作的,我添加ICInvBal表中FBegQty,得到如下代码
set nocount on
SELECT t1.FDate AS '日期',
t1.FBillNo as '单据号码',
t3.FNumber as '物料代码',
t3.FName AS '物料名称',
t3.FModel AS '规格型号',
t4.FName AS '单位',
CASE WHEN t1.FTranType in (1,2,5,10,40,101,102)Or (t1.Ftrantype=100 And t1.FBillTypeID=12542) THEN t2.FQty ELSE 0 END AS '收入数量',
CASE WHEN t1.FTranType in (21,24,28,29,43)Or (t1.Ftrantype=100 And t1.FBillTypeID=12541) THEN t2.FQty ELSE 0 END AS '发出数量',
SUM( t5.FBegQty) AS '期初结存数量'
FROM ICStockBill t1,ICStockBillentry t2,t_ICItem t3,t_MeasureUnit t4,ICInvBal t5
WHERE t1.FInterID=t2.FInterID
AND t2.FItemID=t3.FItemID
AND t4.FItemID=t3.FUnitID
AND t3.FItemID=t5.FItemID
AND t4.FStandard=1
AND t1.FDate>='2008-01-01'
and t1.FDateand t1.FDateand t1.FStatus>0 and t1.FCancelLation = 0
group by t1.FDate,t1.FBillNo,t3.FNumber,t3.FName,t3.FModel,t4.FName,t1.FTranType,t2.FQty,t2.FAmount,t3.FQtyDecimal,t3.FPriceDecimal,t1.FBillTypeID
order by t3.FNumber,t1.FDate
这样我得到的数据又不正确。
请大家帮下我。
修改时间:2008-5-5 15:27:29