Exakt diese Frage stellte sich mir auch nachdem ich die Umstellung auf Base vorgenommen habe.
Nach langen suchen (und auffinden dieses Forum) habe ich dann ebenfalls die Abfragesystematik verstanden und nutze sie nun für meine Problemlösungen.
Ich würde daher an dieser Stelle ebenfalls gerne einharken und hätte bezüglich der Berechnung noch eine Ergänzungsfrage.
Wie man in dem obigen Beispiel gut erkennen kann, wird ein "Unterwert" dadurch gebildet, dass die Eingabe wiederholt wird. Ich habe das bei einigen Abfragen (der Übersichtlichkeithalber) so gelöst, dass ich Unterabfragen hierzu konstruiert habe. Diese Unterabfragen ermöglichen es somit eine Berechnung einmal in Abfrage 1 vorzunehmen und mit der so gebildeten Spalte in der Unterabfrage weiterzurechnen ohne das Ganze immer wieder vollständig neu zu schreiben.
Meine Frage an dieser Stelle:
1.
Wirkt sich diese Vorgehensweise nachteilig auf die Performance von Base aus? Dadurch dass ja erst die Abfrage 1 durchlaufen werden muss um dann in Abfrage 2 weiterverwertet werden zu können.
Diese Frage wollte ich schon länger loswerden, passte grad so gut hier her.
Ich habe mir die frage grade nochmal durchgelesen und verdutliche es lieber über einen Codesnipsle:
Code: Alles auswählen
SELECT "Brutto", "Brutto" / 1.19 AS "Netto", "Brutto" - "Brutto" / 1.19 AS "Vst" FROM "Tabellenname"
Abfrage1:
Code: Alles auswählen
SELECT "Brutto", "Brutto" / 1.19 AS "Netto" FROM "Tabellenname"
Abfrage2:
Code: Alles auswählen
SELECT "Brutto", "Brutto" - "Netto" AS "Vst" FROM "Abfrage1"
2.
Wie gehe ich am besten bei "leeren" Inhalten in der Datenbank vor. Wenn ich diese addieren will ist das Ergebnis immer "leer"
So habe ich eine Datenbank wo Rechnungen vorgenommen werden und teilweise Felder leer sind. Leer sollte "0" sein. Allerdings ist Base sehr konsequent. In den so Abgefragten Feldern ist das Ergebnis dann auch "Leer". Mit NULL kam ich dort auch nicht weiter so habe ich nachträglich eine ganze Datenbank mit "0" befüllt. Leider habe ich nun eine andere Datenbank bei der ich dies leider nicht so machen kann. Gibt es hierzu ggf. hierzu einen Tipp / Lösungsvorschlag?