Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Gelösst!!! Base-Abfrage - SQL-Berechnung in Spalte

Alles rund um Büroanwendungen, Bildungsprogramme und Spiele unter Linux

Moderator: Moderatoren

Benutzeravatar
Uwe.Lü
Hacker
Hacker
Beiträge: 445
Registriert: 7. Nov 2004, 22:21

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von Uwe.Lü » 8. Apr 2018, 18:19

Vielen Dank für Deine schnelle Antwort, aber das geht etwas am Ziel vorbei.
Winston nutze ich seit Jahren, um die Umsatzsteuervoranmeldung online zum FA zu schicken, aber vorher muss ich meine Belege erfassen, was schon passiert ist. Die Frage geht dahin, warum die Abfrage meiner Frau:

Code: Alles auswählen

"01 DB BHS Claudia"."Betrag brutto" / ( 1 + "Steuersatz" / 100 ) AS "Betrag Netto",
den Nettobetrag errechnet, aber meine

Code: Alles auswählen

 "01 DB BHS Uwe"."Betrag brutto" / ( 1 + "Steuersatz" / 100 ) AS "Betrag Netto",
nur den eingebenen Bruttobetrag ausgibt. :-?
Acer Aspire V17 Nitro - Black Edition, Distribution: openSUSE Leap 15.0 (x86_64), NVIDIA Corporation GM107M (GeForce GTX 860M)
Acer Extensa, Distribution: openSuse Leap 15.0, Kernel-Version: 4.12.14-lp150.11-default

Werbung:
Benutzeravatar
Uwe.Lü
Hacker
Hacker
Beiträge: 445
Registriert: 7. Nov 2004, 22:21

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von Uwe.Lü » 8. Apr 2018, 21:50

Was mir gerade nach eingefallen ist, beide Tabellen liegen in der selben Datenbank.
Kann das vielleicht der Grund dafür sein?
Acer Aspire V17 Nitro - Black Edition, Distribution: openSUSE Leap 15.0 (x86_64), NVIDIA Corporation GM107M (GeForce GTX 860M)
Acer Extensa, Distribution: openSuse Leap 15.0, Kernel-Version: 4.12.14-lp150.11-default

Gräfin Klara
Hacker
Hacker
Beiträge: 322
Registriert: 23. Jun 2008, 20:51

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von Gräfin Klara » 8. Apr 2018, 22:17

Ich bin keine Expertin auf diesem Gebiet und kann deshalb nur vermuten!
Uwe.Lü hat geschrieben:
8. Apr 2018, 21:50
Was mir gerade nach eingefallen ist, beide Tabellen liegen in der selben Datenbank.
Kann das vielleicht der Grund dafür sein?
Nein, das glaube ich nicht. Mehrere Tabellen in einer db ist usus und mir fällt kein Fall ein, wo das query aus einer Tabelle funktioniert,
aus der zweiten nicht und das auf Grund irgendeiner Beeinflussung untereinander, weil in einer db. Das ist wenig wahrscheinlich.
Ich glaube eher, dass du beim Anlegen der beiden Tabellen unterschiedlich vorgegangen bist.
Das kann sein ein abweichender Datentyp für ein bestimmtes Feld, oder
du hast beim Erstellen der Tabellen unterschiedliche records eingetragen oder etwas in einem Feld nicht eingetragen.
An deiner Stelle würde ich die beiden Tabellen auf solche Unterschiede hin untersuchen.

Gruß
Gräfin Klara

abgdf
Guru
Guru
Beiträge: 3083
Registriert: 13. Apr 2004, 21:15

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von abgdf » 8. Apr 2018, 23:20

Oder vielleicht ein Encodierungs-Problem? Sowas ist immer ganz mies. :(

Benutzeravatar
Uwe.Lü
Hacker
Hacker
Beiträge: 445
Registriert: 7. Nov 2004, 22:21

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von Uwe.Lü » 10. Apr 2018, 12:40

abgdf hat geschrieben:
8. Apr 2018, 23:20
Oder vielleicht ein Encodierungs-Problem?
Das glaube ich nicht, da die Abfrage meiner Frau rechnet, wie sie soll. Die aktuelle JRE habe ich auch installiert.
Gräfin Klara hat geschrieben:Ich glaube eher, dass du beim Anlegen der beiden Tabellen unterschiedlich vorgegangen bist.
Genau das habe ich mehrfach überprüft, werde das aber noch einmal machen. Manchmal sitzt ja der Fehler 70 cm vor dem Bildschirm ;)
Acer Aspire V17 Nitro - Black Edition, Distribution: openSUSE Leap 15.0 (x86_64), NVIDIA Corporation GM107M (GeForce GTX 860M)
Acer Extensa, Distribution: openSuse Leap 15.0, Kernel-Version: 4.12.14-lp150.11-default

Benutzeravatar
Uwe.Lü
Hacker
Hacker
Beiträge: 445
Registriert: 7. Nov 2004, 22:21

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von Uwe.Lü » 10. Apr 2018, 14:13

So, jetzt habe ich etwas rum probiert.

Code: Alles auswählen

"Betrag brutto" / 1.19 AS "Erg Netto",
funktioniert, nur werden alle Werte um 19% vermindert, was aber nicht der Realität entspricht. Also

Code: Alles auswählen

"Betrag brutto" / ( 1 + "Steuersatz" / 100 ) AS "Erg Netto",
was ja rechnerisch das gleiche ist, gibt in der Spalte "Erg Netto" den Bruttobetrag aus.
Bei meiner Frau sieht die Rechenspalte gleich aus

Code: Alles auswählen

"Betrag brutto" / ( 1 + "Steuersatz" / 100 ) AS "Betrag Netto"
und rechnet, wie gewollt.
Acer Aspire V17 Nitro - Black Edition, Distribution: openSUSE Leap 15.0 (x86_64), NVIDIA Corporation GM107M (GeForce GTX 860M)
Acer Extensa, Distribution: openSuse Leap 15.0, Kernel-Version: 4.12.14-lp150.11-default

abgdf
Guru
Guru
Beiträge: 3083
Registriert: 13. Apr 2004, 21:15

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von abgdf » 10. Apr 2018, 14:49

Und auf so einer wackligen Grundlage ("Geht vielleicht, geht vielleicht nicht, keine Ahnung, ob und wieso") willst Du Deine Steuern automatisiert berechnen? :???:

Benutzeravatar
Uwe.Lü
Hacker
Hacker
Beiträge: 445
Registriert: 7. Nov 2004, 22:21

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von Uwe.Lü » 10. Apr 2018, 15:24

Ja, muss ich, da Elster und das FA es so haben will.
Acer Aspire V17 Nitro - Black Edition, Distribution: openSUSE Leap 15.0 (x86_64), NVIDIA Corporation GM107M (GeForce GTX 860M)
Acer Extensa, Distribution: openSuse Leap 15.0, Kernel-Version: 4.12.14-lp150.11-default

abgdf
Guru
Guru
Beiträge: 3083
Registriert: 13. Apr 2004, 21:15

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von abgdf » 10. Apr 2018, 17:57

Dann würde ich wenigstens die Probe machen:

- Aus der Datenbank ohne Berechnungen nur alle Buchungssätze mit umsatzsteuerrelevaten Einnahmen ausgeben lassen,
- Daraus die Spalte mit den Beträgen extrahieren,
- Diese zusammenrechnen (in LibreOffice oder mit Perl),
- Die Umsatzsteuer berechnen.

goeba
Hacker
Hacker
Beiträge: 250
Registriert: 23. Nov 2015, 13:48

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von goeba » 10. Apr 2018, 22:40

Hallo,
ich vermute hier ein Problem mit integer vs. float.

Eventuell liegen bei Deinen Buchungen Ganzzahlen vor, bei denen Deiner Frau aber Kommazahlen.

Die übrigen Werte werden implizit in den Datentyp des ersten Wertes umgewandelt, daher klappt es bei Deiner Frau, bei Dir nicht.

Ich würde also statt "1" immer "1.0" schreiben, statt /100 natürlich /100.0 , und wenn in den Tabellen tatsächlich Ganzzahlen stehen, diese vorher nach Float umwandeln (oder gleich als Kommazahlen in die Tabelle schreiben).

Wie das im Detail geht, findest Du sicher im Internet, ich bin da auch nicht so flüssig (bin über dieses Problem aber oft genug beim Programmieren gestolpert, implizites Casting ist in jeder Programmiersprache anders und ggf. auch je nach Datenbank unterschiedlich).

Einstieg in die Lektüre vielleicht hier:

https://stackoverflow.com/questions/941 ... oat-in-sql

Gruß!

Benutzeravatar
Uwe.Lü
Hacker
Hacker
Beiträge: 445
Registriert: 7. Nov 2004, 22:21

Re: Base-Abfrage - SQL-Berechnung in Spalte

Beitrag von Uwe.Lü » 11. Apr 2018, 14:58

goeba hat geschrieben:
10. Apr 2018, 22:40
Ich würde also statt "1" immer "1.0" schreiben, statt /100 natürlich /100.0 , und wenn in den Tabellen tatsächlich Ganzzahlen stehen, diese vorher nach Float umwandeln (oder gleich als Kommazahlen in die Tabelle schreiben).
Das war die Lösung, vielen Dank
Acer Aspire V17 Nitro - Black Edition, Distribution: openSUSE Leap 15.0 (x86_64), NVIDIA Corporation GM107M (GeForce GTX 860M)
Acer Extensa, Distribution: openSuse Leap 15.0, Kernel-Version: 4.12.14-lp150.11-default

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste