Jump to content

Netpower

Abgemeldet
  • Gesamte Inhalte

    4
  • Registriert seit

  • Letzter Besuch

Reputation in der Community

0 Neutral
  1. Vielen, vielen Dank!! Das mit dem vorher nach bigint casten hat es gebracht. Es ist immer wieder toll wenn man das fehlende Wissen bei Euch Profis kompensieren kann. Vielen Dank, wieder etwas dazu gelernt. Oft sind es die kleinen Dinge, die einem das Leben unnötig schwer machen. ;-))
  2. Alle Felder haben den Datentyp int.
  3. Hallo Sunny61 (obwohl ich nicht glaube das Du so heißt, aber egal), diese Fehlermeldung spricht dagegen; "Meldung 8115, Ebene 16, Status 2, Zeile 1 Arithmetischer Überlauffehler beim Konvertieren von expression in den int-Datentyp. Die Anweisung wurde beendet." Sie erscheint nämlich bei Money genauso wie bei bigint oder oder oder. Ich verzweifel langsam daran, denn es kann doch nicht sein das es nirgendwo eine Zahl = 3 Mrd.-Stellen verarbeitet werden kann. :cry: Ich verstehe es nicht, vielleicht gibt es ja eventl. sonst noch einen Fehler im Code. Ich finde nichts. :rolleyes:
  4. Hallo Zusammen, als Neuling hier im Forum habe ich versucht mich irgendwie durchzuhangeln und bin zum o.g. Thema auch auf verschiedene Beiträge gestoßen. Leider kann ich mit keinem Beitrag eine Lösung herbeiführen. Ich hänge mal den Code an, der zum Fehler führt. USE [vdpstatistik] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER function [dbo].[JA - Ranking Gesamtumsatz Total](@pJahr int) returns @Report_Table table ( [Jahr] int, [Umsatz WV] bigint NULL, [Umsatz PP] bigint NULL, [Umsatz Roh] bigint NULL, [Umsatz gesamt] bigint NULL ) as begin with PA as ( select Jahr, HG, SG, UG, EG, sum(coalesce(Weiterverarbeitung, 0)) as [Weiterverarbeitung] from vdpproduktion.dbo.Produktion_und_Absatz_F1_F6 P where Jahr = @pJahr group by Jahr, HG, SG, UG, EG ), VP as ( select Jahr, HG, SG, UG, EG, sum(coalesce(Verrechnungspreis, 0)) as [Verrechnungspreis] from vdpproduktion.dbo.Verrechnungspreis V where Jahr = @pJahr group by Jahr, HG, SG, UG, EG ), WV as ( select PA.Jahr, sum([Weiterverarbeitung]) as [Weiterverarbeitung], coalesce(sum(VP.[Verrechnungspreis] * (PA.[Weiterverarbeitung])), 0) as [Umsatz WV] from PA join VP on PA.Jahr = VP.Jahr and PA.HG = VP.HG and PA.SG = VP.SG and PA.UG = VP.UG and PA.EG = VP.EG group by PA.Jahr ), PP as ( select Jahr, sum(Papier_und_Pappe) as [Umsatz PP], sum([Zellstoff] + [Holzschliff] + [Altpapierstoff]) as [Umsatz Roh] from vdpproduktion.dbo.Umsaetze U where Jahr = @pJahr group by Jahr ) insert @Report_Table select coalesce(WV.Jahr, PP.Jahr) as Jahr, coalesce(WV.[Umsatz WV],0), coalesce(PP.[Umsatz PP],0), coalesce(PP.[Umsatz Roh],0), coalesce(WV.[Umsatz WV],0) + coalesce(PP.[Umsatz Roh],0) + coalesce(PP.[Umsatz PP],0) as [Umsatz gesamt] from WV full join PP on PP.Jahr = WV.Jahr return end Habe die Ausgabefelder als "bigint" declariert, mehr geht meineswissens doch nicht, oder? Ich hoffe man kann diesen Code auch ohne weitere Erklärungen lesen. Wenn ich das richtig verstehe, geht es im Prinzip doch nur um die Größe des Ausgabefeldes. Es kann bei der Ausgabe bis hin zu 3 stelligen Millardenbeträgen kommen. Welche Größeneinheit kann man denn hier noch nehmen? Hat vielleicht jemand eine Idee, wie ich zu meinen Ergebnissen komme. Vielen Dank schon mal im Voraus Ralf
×
×
  • Neu erstellen...