私はそれがストアドプロシージャに関しては初心者です、私の仕事のデータベースはSQL Server 2008 R2です、そして、私は2つの値の単純な引き算をする方法を知りません。
例えば:
エクセルテーブル:
この表では、3番目の列は1番目の列と2番目の列の減算に等しい
私のデータベースのテーブルの列で、最初の列と2番目の列は1列にあります。
表:
したがって、3列目は違いになります1列目と2列目の間で、2つの値の減算を計算する必要があります。同じ数値を持つ記事に値をバインドできます。
ストアドプロシージャでこれを行うにはどうすればよいですか。それを行う方法、Whileを実行する、変数を宣言する、すべてのことを私は知りません。
どんな助けでも本当に感謝するでしょう、ありがとう。
回答:
回答№1は4Select 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