2016-08-05 9 views
-1

最初に、フォーマットを間違えてください。私はここに新しいです、これは私の最初の投稿です。SQLは列の値を別の列で除算します。

私は、請求書によって分割された列(コスト)の価値を取りたいと思います。たとえば、私のテーブルは現在、このように見えます。ここで、workerは仕事をしている労働者、invは請求書番号、costsは請求書の総費用、amountは各従業員がその請求書に対して行った作業量です。

Worker | Inv | Costs | Amount 
----A--- |---1 | 12 -----| 50 
----B--- |---1 | 12 -----| 10 
----C--- |---1 | 12 -----| 40 
----A----|---2 | 1 ------| 10 
----B----|---2 | 1 ------| 10 

と私はそれが次のようになりたい:私は、このの終わりに、合計請求書を思い付くために労働者の量とコストの金額を合計できるようにしたいと思い

Worker | Inv | Costs | Amount 
----A--- |---1 | 4 -------| 50 
----B--- |---1 | 4 -------| 10 
----C--- |---1 | 4 -------| 40 
----A----|---2 | .5 ------| 10 
----B----|---2 | .5 ------| 10 

私はInvoice1は$ 112の合計であるとInvoice2の合計が、この1つは、各請求書の費用や金額を合計$ 21

+1

このサイトで質問する方法については、次の記事をお読みください:http://stackoverflow.com/help/how-to-ask –

答えて

0

であることを示すだろうExcelのピボットテーブルにこれを最終結果を投げた後:

SELECT inv, SUM(Cost+Amount) 
FROM MyTable 
GROUP BY inv 

結果は請求書1のための$ 112の請求書2のための$ 21

0
select inv,count(1) as workercount 
from tbl 
group by inv 

インボイスの数のカウントを与えるこのクエリで、workercountはあなたによって分割したい番号が含まれています。サブクエリとして使用します。

select worker, inv, costs/invcount.workercount as costs, amount 
from tbl 
inner join 
(select inv,count(1) as workercount 
from tbl 
group by inv) invcount 
on tbl.inv = invcount.inv 

ここからのピボットの結果です。ここで必要なExcelスプレッドシートではなく、SQLを使用して請求書総額を計算することができます。

関連する問題