1

私はこのテーブルを持っていますtemp_calpoints1

orderid processid uid ordervalue percent
1       1         16  33000      10
1       2         4   33000      10
1       3         5   33000      10
1       4         5   33000      20
1       5         4   700000     10
2       1         4   100000     10
2       2         4   100000     10
2       3         5   100000     10
2       4         4   100000     20
2       5         4   700000     10
2       6         1   700000     6
2       6         4   700000     6
2       6        16   700000     6
4       5         5   700000     10
5       1        16   700000     10  

出力を取得したい

たとえば、最初のレコードの ordervalue のパーセンテージ値 10/100*33000=3300

これらすべての値を追加し、uid に従ってグループ化する必要があります

  uid  totalvalue
     1     xxx
     4     xxx
     5     xxx
     16    xxx

私はこれを試しましたが、うまくいかない方法もあります

SELECT
  processid,
  SUM(ordervalue) AS [TotalSales]
FROM [dbo].temp_calpoints1
GROUP BY [uid]
4

1 に答える 1

0

このオプションを試してください

SELECT [uid], SUM(([percent] / 100.00) * ordervalue) AS total 
FROM dbo.test46
GROUP BY [uid]

結果:

uid total
1   42000.000000
4   225300.000000
5   89900.000000
16  115300.000000

SQLFiddle のデモ

于 2013-03-21T10:12:50.497 に答える