Mehrwertsteuer Berechnung

Mikana

Benutzer
Beiträge
17
Hallo mal wieder.

Wer könnte mir helfen und sagen, wie ich einen Befehl zur Mehrwertsteuerberechnung (Aufgabe zu diesem Dokument, siehe Anhang) kreiere?
Muss ich den einfachen Rechenweg Summe X /100 * 19 =Y I X-Y=Z I eingeben? Oder funktioniert das über dieses Modulo?
Was ist Modulo? Das wird nicht näher in unserem Schülerdokument erläutert. Auf der Seite Modulo Operator (%) wird das zumindest etwas erläutert. Jedoch verstehe ich den Rechenweg dieses Modulo nicht.

Wie rechne ich denn ansonsten geschickt die Prozente aus?

Lg, Mikana

Anhang: Im Bild sieht man die einzige Ausführung, die wir zur Berechnung von Werten bekommen haben.


1651217233099.png
 
Werbung:
Welche Klasse gehst Du denn, daß Du SQL lernst, aber an Prozentrechnung scheiterst?

Modulo: Wikipedia sagt dazu:

Die Division mit Rest (Modulo) wird in der Programmierung relativ häufig verwendet. Der entsprechende Operator heißt in unterschiedlichen Programmiersprachen oft mod oder %. Man kann etwa prüfen, ob eine gegebene Zahl x {\displaystyle x}
x
gerade ist, indem man folgende Abfrage durchführt: if ((x mod 2) == 0). Modulo kann man auch nutzen, wenn man in einer Schleife lediglich bei jedem x {\displaystyle x}
x
-ten Schleifendurchlauf einen speziellen Programmcode ausführen will. Auch bei vielen Berechnungen und Algorithmen ist der Operator sinnvoll einsetzbar. Allgemein kann man mit mod prüfen, ob eine Zahl durch eine andere genau teilbar ist: Nur dann liefert der Modulo-Operator den Wert 0. Des Weiteren muss man in der Programmierung oft auf ganze Vielfache einer Zahl ergänzen (z. B. 4 Bytes) und kann durch den Modulo errechnen, wie viele „Pad-Bytes“ noch fehlen. Durch die Funktion divMod werden Ganzzahlquotient und Rest zusammen berechnet.

Schauen wir mal praktisch:

Code:
postgres=# with x as (select * from generate_series(1,10) s) select s, s % 1 as modulo1, s % 2 as modulo2, s % 3 as modulo3, s % 4 as modulo4, s % 5 as modulo5 from x;
 s  | modulo1 | modulo2 | modulo3 | modulo4 | modulo5 
----+---------+---------+---------+---------+---------
  1 |       0 |       1 |       1 |       1 |       1
  2 |       0 |       0 |       2 |       2 |       2
  3 |       0 |       1 |       0 |       3 |       3
  4 |       0 |       0 |       1 |       0 |       4
  5 |       0 |       1 |       2 |       1 |       0
  6 |       0 |       0 |       0 |       2 |       1
  7 |       0 |       1 |       1 |       3 |       2
  8 |       0 |       0 |       2 |       0 |       3
  9 |       0 |       1 |       0 |       1 |       4
 10 |       0 |       0 |       1 |       2 |       0
(10 rows)

postgres=#
 
Hi,
danke für die Antwort.
Ich bin im ersten Lehrjahr zur FiSi. Allerdings scheitere ich nicht an der Prozentrechnung, sondern daran zu wissen, wie ich das in MariaDB tippe.

Habe hier mal ein paar Versuche gestartet:
SELECT id, preis, stueckzahl, stueckzahl*preis AS Lagerwert FROM t_lager;
SELECT id, preis, stueckzahl, stueckzahl*preis AS Lagerwert, (Lagerwert/100)*19 AS Mehrwertsteueranteil, Lagerwert-Mehrwertsteueranteil AS Bereinigte MwSt FROM t_lager;
SELECT id, preis, stueckzahl, ((stueckzahl*preis)/100)*19 AS MwSt Anteil FROM t_lager;

An der Mathematik liegt es nicht ;-)
Hier die Tabellen mit Befehlen:

SELECT * FROM t_lager;
+----+----------------+------------+-------+
| id | name | stueckzahl | preis |
+----+----------------+------------+-------+
| 1 | Kugelschreiber | 200 | 2.99 |
| 2 | Ordner | 123 | 2.80 |
| 3 | Heftklammern | 423 | 0.99 |
| 4 | Bleistift | 270 | 0.99 |
| 5 | Umschlaege B6 | 230 | 0.80 |
+----+----------------+------------+-------+

SELECT id, preis, stueckzahl, stueckzahl*preis AS Lagerwert FROM t_lager;
+----+-------+------------+-----------+
| id | preis | stueckzahl | Lagerwert |
+----+-------+------------+-----------+
| 1 | 2.99 | 200 | 598.00 |
| 2 | 2.80 | 123 | 344.40 |
| 3 | 0.99 | 423 | 418.77 |
| 4 | 0.99 | 270 | 267.30 |
| 5 | 0.80 | 230 | 184.00 |
+----+-------+------------+-----------+
 
Code:
postgres=# create table mikana (id int generated always as identity primary key, name text, stueckzahl int, preis numeric);
CREATE TABLE
postgres=# insert into mikana (name, stueckzahl, preis) values ('Kugelschreiber', 200, 2.99);
INSERT 0 1

postgres=# select id, name, stueckzahl, preis, stueckzahl * preis as lagerwert, stueckzahl * preis * 1.19 as "Lagerwert mit Steuer" from mikana;
 id |      name      | stueckzahl | preis | lagerwert | Lagerwert mit Steuer 
----+----------------+------------+-------+-----------+----------------------
  1 | Kugelschreiber |        200 |  2.99 |    598.00 |            711.6200
(1 row)

postgres=#
 
Werbung:
Dein Problem: Du kannst nicht auf einen Alias zugreifen, den Du eben erst vergeben hast:

Code:
postgres=# select id, name, stueckzahl, preis, stueckzahl * preis as lagerwert, lagerwert * 1.19 as "Laerwert mit Steuer" from mikana;
ERROR:  column "lagerwert" does not exist
LINE 1: ...ueckzahl, preis, stueckzahl * preis as lagerwert, lagerwert ...
                                                             ^
postgres=#
 
Zurück
Oben