Bezug auf meinen vorigen Thread "Berechnetes Feld bleibt leer" [url][
viewtopic.php?f=8&t=12676] sei hiermit hergestellt. Der hier beobachtete Effekt ist im Ergebnis derselbe, kommt aber anders zustande.
Folgendes Beispiel:
Tabelle: Wert1, Wert2, Wert3, Steuerung
1 Datensatz: Wert1=1000, Wert2=2000, Wert3=3000, Steuerung=1
Abfrage1:
SELECT "Wert1", "Wert2", "Wert3" AS "Summe" FROM "Tabelle" WHERE "Steuerung" = 1
Ergebnis der Abfrage:
Wert1 Wert2 Wert3
1000 2000 3000
Abfrage2:
SELECT "Wert1", "Wert2", "Wert3" AS "Summe" FROM "Tabelle" WHERE "Steuerung" = 2
Ergebnis der Abfrage:
Leer.
Bis hierher richtig.
Jetzt Abfrage3:
SELECT "a"."Wert1" FROM "Abfrage1" AS "a", "Abfrage2" AS "b"
Anm: Die Abfrage macht so keinen Sinn. Es handelt sich um ein vereinfachtes Beispiel hier im Forum.
Ergebnis der Abfrage:
Leer.
Abwandlung der Tabelle:
Zusätzlich ein zweiter Datensatz, bei dem nur das Feld "Steuerung" belegt wird, die anderen Felder bleiben leer!
Datensatz2: Steuerung=2
Speichern, Tabellen aktualisieren.
Abfrage 3 erneut ausführen.
Ergebnis der Abfrage:
Wert1
1000
Ich fasse zusammen: Die Abfrage2 spielt bei späteren Abfragen erst dann mit, wenn sie in der Tabelle mindestens einmal über die Steuerung angesprochen wird.
Hier meine Frage:
1. Darf das sein oder ist es ein Fehler?
2. Umgehung?
Anmerkung zur Umgehung: Ggf. kommt die Zuweisung der Steuerung=2 nicht in Betracht und alle Datensätze werden mit Steuerung=1 belegt. Dann wäre der Nutzer per Anweisung zu verpflichten, mindestens einen Datensatz mit Steuerung=2 zu erstellen. Das ist möglich, aber unpraktisch. Geht es auch anders?
Vielen Dank schon mal!
Bezug auf meinen vorigen Thread "Berechnetes Feld bleibt leer" [url][http://de.openoffice.info/viewtopic.php?f=8&t=12676] sei hiermit hergestellt. Der hier beobachtete Effekt ist im Ergebnis derselbe, kommt aber anders zustande.
Folgendes Beispiel:
Tabelle: Wert1, Wert2, Wert3, Steuerung
1 Datensatz: Wert1=1000, Wert2=2000, Wert3=3000, Steuerung=1
Abfrage1:
SELECT "Wert1", "Wert2", "Wert3" AS "Summe" FROM "Tabelle" WHERE "Steuerung" = 1
Ergebnis der Abfrage:
Wert1 Wert2 Wert3
1000 2000 3000
Abfrage2:
SELECT "Wert1", "Wert2", "Wert3" AS "Summe" FROM "Tabelle" WHERE "Steuerung" = 2
Ergebnis der Abfrage:
Leer.
Bis hierher richtig.
Jetzt Abfrage3:
SELECT "a"."Wert1" FROM "Abfrage1" AS "a", "Abfrage2" AS "b"
Anm: Die Abfrage macht so keinen Sinn. Es handelt sich um ein vereinfachtes Beispiel hier im Forum.
Ergebnis der Abfrage:
Leer.
Abwandlung der Tabelle:
Zusätzlich ein zweiter Datensatz, bei dem nur das Feld "Steuerung" belegt wird, die anderen Felder bleiben leer!
Datensatz2: Steuerung=2
Speichern, Tabellen aktualisieren.
Abfrage 3 erneut ausführen.
Ergebnis der Abfrage:
Wert1
1000
Ich fasse zusammen: Die Abfrage2 spielt bei späteren Abfragen erst dann mit, wenn sie in der Tabelle mindestens einmal über die Steuerung angesprochen wird.
Hier meine Frage:
1. Darf das sein oder ist es ein Fehler?
2. Umgehung?
Anmerkung zur Umgehung: Ggf. kommt die Zuweisung der Steuerung=2 nicht in Betracht und alle Datensätze werden mit Steuerung=1 belegt. Dann wäre der Nutzer per Anweisung zu verpflichten, mindestens einen Datensatz mit Steuerung=2 zu erstellen. Das ist möglich, aber unpraktisch. Geht es auch anders?
Vielen Dank schon mal!