我设计了一个新的应用程序。 我使用sQL服务器。所以我有一个问题。 我想要表tbStock caculate,在列tbStock.quality = tbImport.quality - tbExport.quality 但他们必须遵循现场批次。 这是我的代码。不工作
create proc [dbo].[sp_XuatLayBatch]
@Ma as nchar(14)
as
select sum(tbImport .SoLuong)as SLN,sum(tbExport .SoLuong)as SLX,tbImport .Batch from tbImport, tbExport
where tbImport .Ma = @Ma and (tbExport.Ma=tbImport .Ma or tbExport.Ma is null)
group by tbImport .Batch
这是我的照片。
http://www.mediafire.com/view/l5fyiaa8flolgda/Batch_tong_2.JPG
答案 0 :(得分:0)
我想我明白你的意思是:只是从该特定批次中导入的库存量减去了总出口库存量,以便为您提供该批次剩余的总库存量?
如果是这样的话:
select i.[No]
,i.Code
,i.Name
,i.Quality - isnull(e.Quality,0) as Quality
,i.Batch
from tbImport i
left join (select Code
,Name
,sum(Quality) as Quality
,Batch
from tbExport
group by Code
,Name
,Batch
) e
on(i.Code = e.Code
and i.Name = e.Name
and i.Batch = e.Batch
)
where i.Quality - isnull(e.Quality,0) > 0