2017-03-22 3 views
0

こんにちは私はSQL Serverのこのクエリに問題がある、私の問題は、列の呼び出しTotaleCapで、私の問題は、TotaleCapはQuantitàCostuUnitarioの結果でなければならないが、私を助けて?ありがとうラウンドエラーSQL Serverの値

QUERY:

DECLARE @T AS TABLE (Descrizione VARCHAR(5000), Totale MONEY, DescrizioneEstesa VARCHAR(5000), Immagine VARCHAR(5000), CostoUnitario MONEY, Quantita MONEY, DescrizioneDis VARCHAR(5000)) INSERT INTO @T select Capitolo.Descrizione,(SottoCapitolo.Quantita * SottoCapitolo.CostoUnitario) as Totale, SottoCapitolo.DescrizioneEstesa ,SottoCapitolo.Immagine,SottoCapitolo.CostoUnitario,SottoCapitolo.Quantita,SottoCapitolo.Descrizione as DescrizioneDis from Capitolo inner join SottoCapitolo on SottoCapitolo.IdCapitolo = Capitolo.IdCapitolo where IdPreventivo = '" + IdPreventivo + "' SELECT CASE WHEN ROW_NUMBER() OVER(PARTITION BY a.Descrizione order by a.Descrizione) = 1 THEN a.Descrizione ELSE '' END AS Descrizione,a.DescrizioneDis, round(a.CostoUnitario,0) as CostoUnitario, a.Quantita, round(a.Totale,0) as TotaleCap, a.DescrizioneEstesa, a.Immagine FROM(SELECT 1 AS d, ROW_NUMBER() OVER(PARTITION BY Descrizione order by Descrizione) AS r, Descrizione, Totale, DescrizioneDis, Immagine, CostoUnitario, Quantita, DescrizioneEstesa FROM @T UNION ALL SELECT 2, 0, Descrizione, SUM(Totale), '', '', '', '', '' FROM @T GROUP BY Descrizione ) AS a ORDER BY a.Descrizione, a.d 

出力画面プリマ・ディ運賃のGLI arrotondamenti "カプチュールトータル"

enter image description here

+0

は、いくつかのサンプル・テーブル・データと予想される結果を追加してください - だけでなく、フォーマットテキストで。 現在のクエリの試行も表示してください – TheGameiswar

答えて

1

イルproblema risiede NEL fatto CHEハイGIA calcolato IL。
Verificaコンquesto:

select 3.1 AS UNIT, 6 AS QTY, 3.1*6 AS TOT_ESATTO, ROUND(3.1,0) AS UNIT_ROUND, ROUND(3.1*6,0) AS TOT_ROUND, ROUND(3.1,0)*6 AS ERR 
+0

あなたの現在のクエリの試行を表示してください。 – riki

+0

Valuta anche se usareラウンド()、piuttosto che floor()oppure ceiling()。 – etsa

+0

faccio qualche prova poi tiとてもひどい、gragie – riki