/ / SQL Server 2008 R2のストアドプロシージャで減算を行う方法 - sql-server、ストアドプロシージャ、sql-server-2008-r2

SQL Server 2008 R2のストアドプロシージャで減算を行う方法 - SQL Server、ストアドプロシージャ、SQL Server 2008 R2

私はそれがストアドプロシージャに関しては初心者です、私の仕事のデータベースはSQL Server 2008 R2です、そして、私は2つの値の単純な引き算をする方法を知りません。

例えば:

エクセルテーブル:

ここに画像の説明を入力

この表では、3番目の列は1番目の列と2番目の列の減算に等しい

私のデータベースのテーブルの列で、最初の列と2番目の列は1列にあります。

表:

ここに画像の説明を入力

したがって、3列目は違いになります1列目と2列目の間で、2つの値の減算を計算する必要があります。同じ数値を持つ記事に値をバインドできます。

ストアドプロシージャでこれを行うにはどうすればよいですか。それを行う方法、Whileを実行する、変数を宣言する、すべてのことを私は知りません。

どんな助けでも本当に感謝するでしょう、ありがとう。

回答:

回答№1は4
Select Articulo
,Col1     = sum(case when Cantidad>0 then Cantidad else 0 end)
,Col2     = sum(case when Cantidad<0 then Cantidad else 0 end)*-1
,Col3     = sum(Cantidad)*-1
From  YourTable
Group By Articulo

返品

Articulo    Col1    Col2    Col3
1003        64000   338464  274464
1004        43200   271921  228721
3002        8411    11082   2671
3007        57600   57238   -362

回答№2については2

フルセルフジョインを使う必要があります

 Select p.canditad Positive, -n.canditad Negative,
p.canditad+n.canditad Difference
From table p          -- <-- p for positive values
full join table n  -- <-- n for negative values
on n.articulo = p.articulo
and p.canditad > 0
and n.canditad < 0