Seite 1 von 1
Summe nur für Markierfeld Daten
Verfasst: Di, 14.06.2011 17:48
von bello15
Hallo
mittels eines Markierfelder selektiere ich bestimmte Datensätze. Die Datensätze enthalten ein Feld mit einem Betragwert (numerisches Feld). In der Abfrage will ich die selektierten Daten im Feld Betrag addieren.
Mein Abfrage, siehe unten, gibt mir korrekt die selektierten Datensätze, aber ich bekomme immer die Summe aller Datensätzen (nicht die selektieten).
(
SELECT "Betragsfeld", "ID", "Feld2", "Feld3", "Feld4" FROM "DBank" WHERE ( "Feld4" = 'TRUE' ) ORDER BY "Feld2", "Feld3" ASC
)
UNION ALL
(
SELECT
SUM("Betragsfeld") AS "Betragsfeld",
NULL as "ID", NULL as "Feld2", NULL as "Feld3", NULL as "Feld4" FROM "DBank"
)
Hat jemand eine Idee? Vielen Dank vorab.
Re: Summe nur für Markierfeld Daten
Verfasst: Di, 14.06.2011 22:29
von F3K Total
Guten Abend,
vielleicht solltest Du nicht nur bei der Auswahl der Zeilen, sondern auch bei der Bildung der Summe nur die gewünschten Datensätze auswählen:
(
SELECT "Betragsfeld", "ID", "Feld2", "Feld3", "Feld4" FROM "DBank" WHERE ( "Feld4" = 'TRUE' ) ORDER BY "Feld2", "Feld3" ASC
)
UNION ALL
(
SELECT
SUM("Betragsfeld") AS "Betragsfeld",
NULL as "ID", NULL as "Feld2", NULL as "Feld3", NULL as "Feld4" FROM "DBank" WHERE ( "Feld4" = 'TRUE' )
)
Gruß R
Re: Summe nur für Markierfeld Daten
Verfasst: Mi, 15.06.2011 20:04
von bello15
Hallo F3K Total,
vielen Dank für Deinen Tipp. Habe es ausprobiert und leider geht es nicht. Ich bekomme den Fehler Hinweis "Die Dateninhalte konnten nicht geladen werden. Not a condition in statement".
Wenn ich anschliessend SQL Command direkt ausführen wähle erhalte ich diesen Hinweis "Syntax error in expression" ?
Re: Summe nur für Markierfeld Daten
Verfasst: Mi, 15.06.2011 20:58
von F3K Total
Hallo bello15,
der Fehler liegt anscheinend im "
as":
Code: Alles auswählen
SELECT "Betragsfeld", "ID", "Feld2", "Feld3", "Feld4" FROM "DBank" WHERE "Feld4" = 'TRUE' ORDER BY "Feld2", "Feld3" ASC
UNION ALL SELECT SUM("Betragsfeld"), NULL, NULL, NULL, NULL FROM "DBank" WHERE "Feld4" = 'TRUE'
funktioniert bei mir. Man kann die Spalten wohl nicht zweimal benennen.
Ach, und "Syntax error in expression" kommt dann, wenn man "SQL-Komando direkt ausführen"

- SQL_direkt.png (3.02 KiB) 1797 mal betrachtet
nicht gesetzt hat.
Gruß R
Re: Summe nur für Markierfeld Daten
Verfasst: Do, 16.06.2011 17:58
von bello15
Hallo F3K Total,
mit Deinem code funktioniert die Abfrage !!! Vielen Dank.
So ganz habe ich aber die Logik nicht verstanden. Wenn ich alle Datensätze abfrage und die Gesamtsumme ermittele, dann macht das "as" bei der zweiten Spaltenbenennung keine Probleme, offentsichtlich nur wenn eine Auswahl "WHERE" abgefragt wird. Wie auch immer, ich merke mir den wichtigen Unterschied.
Wegen SQL Command direkt ausführen saß der Fehler wohl vor dem PC. Statt einzuschalten habe ich wohl ausgeschaltet.