Hallo, ich kann in einer Abfrage mit 2 Felder rechnen und das Ergebnis ein einem neuen Feld anzeigen. Jetzt will ich von den Ergebnissen den Durchschnitt berechnen, komme aber auf den Fehler Unexpected token in statement - Dateninhalte konnten nicht geladen werden
so sieht meine Abfrage aus
(
SELECT "StartPreis","AktuellerPreis","QM",CASEWHEN("AktuellerPreis" IS NULL,"StartPreis" / "QM","AktuellerPreis" / "QM") as "BerechnPreisQM" FROM "TabETWAngebote" WHERE ("Stadt") = 'Hamburg'
)
UNION ALL
(
SELECT
AVG ("CASEWHEN("AktuellerPreis" IS NULL,"StartPreis" / "QM","AktuellerPreis" / "QM")") AS "BerechnPreisQM",
NULL AS "AktuellerPreis",
NULL AS "StartPreis",
NULL AS "QM"
FROM
"TabETWAngebote"
WHERE ("Stadt") = 'Hamburg'
)
Hat jemand einen Tipp - Danke im voraus
Duchschnitt von einem berechneteten Feld
Moderator: Moderatoren
Duchschnitt von einem berechneteten Feld
Open Office 4.0.1
Windows 7 home premium SP 1
Windows 7 home premium SP 1
Re: Duchschnitt von einem berechneteten Feld
Hallo bello15,
ist nicht ok!
probiere stattdessen:
Zum Anderen musst Du Deine abgefragten Spalten in die richtige Reihenfolge bringen. Diese sind mächtig durcheinander. Immer daran denken, dass eine UNION die zweite Ergebnistabelle an die erste hängt.
Tablle1:
"StartPreis",
"AktuellerPreis",
"QM"
"BerechnPreisQM"
Tabelle2:
"BerechnPreisQM"
"AktuellerPreis",
"StartPreis",
"QM"
Deckung hättest Du nur in der Spalte "AktuellerPreis"
Gruß Barlee
Ja!Hat jemand einen Tipp
Code: Alles auswählen
AVG ("CASEWHEN("AktuellerPreis" IS NULL,"StartPreis" / "QM","AktuellerPreis" / "QM")") AS "BerechnPreisQM",
probiere stattdessen:
Code: Alles auswählen
AVG (CASEWHEN("AktuellerPreis" IS NULL,"StartPreis" / "QM","AktuellerPreis" / "QM")) AS "BerechnPreisQM",
Tablle1:
"StartPreis",
"AktuellerPreis",
"QM"
"BerechnPreisQM"
Tabelle2:
"BerechnPreisQM"
"AktuellerPreis",
"StartPreis",
"QM"
Deckung hättest Du nur in der Spalte "AktuellerPreis"
Gruß Barlee
Re: Duchschnitt von einem berechneteten Feld
Hallo Barlee,
vielen Dank, jetzt geht's einwandfrei.
Ich glaube, 2 Dinge aus Deinem Tipp gelernt zu haben:
1. Werden 2 Abfragen miteinander verbunden, müssen die Spalten in gleicher Reihenfolge sein.
2. Für AVG oder SUM bin ich von einer Syntax SELECT AVG("Feld") AS "Feld" bzw SELECT SUM("Feld") AS "Feld" ausgegangen, wird nun ein CASEWHEN eingefügt, braucht dieser Befehl nicht auch noch in " " gesetzt werden.
vielen Dank, jetzt geht's einwandfrei.
Ich glaube, 2 Dinge aus Deinem Tipp gelernt zu haben:
1. Werden 2 Abfragen miteinander verbunden, müssen die Spalten in gleicher Reihenfolge sein.
2. Für AVG oder SUM bin ich von einer Syntax SELECT AVG("Feld") AS "Feld" bzw SELECT SUM("Feld") AS "Feld" ausgegangen, wird nun ein CASEWHEN eingefügt, braucht dieser Befehl nicht auch noch in " " gesetzt werden.
Open Office 4.0.1
Windows 7 home premium SP 1
Windows 7 home premium SP 1
Re: Duchschnitt von einem berechneteten Feld
Hallo bello15,
freut mich, wenns funktioniert.
Gruß Barlee
freut mich, wenns funktioniert.
Du meinst das richtige, ja! Man kann bei einer UNION zwar die Spalten in "falscher" Reihenfolge angeben, sinnvoll wird das Ergebnis dann allerdings in den meisten Fällen nicht sein. Dann hättest Du z.B. den "StartPreis" aus Tabelle1 und darunter steht dann "BerechnPreisQM" aus Tabelle2. Ursächlich für die Fehlermeldung war jedoch nicht die falsche Reihenfolge der Spalten, sondern die Anführungszeichen im CASEWHEN.Ich glaube, 2 Dinge aus Deinem Tipp gelernt zu haben:
1. Werden 2 Abfragen miteinander verbunden, müssen die Spalten in gleicher Reihenfolge sein.
Korrekt! In " " setzt Du nur Tabellennamen, Aliase, SpaltenbezeichnerFür AVG oder SUM bin ich von einer Syntax SELECT AVG("Feld") AS "Feld" bzw SELECT SUM("Feld") AS "Feld" ausgegangen, wird nun ein CASEWHEN eingefügt, braucht dieser Befehl nicht auch noch in " " gesetzt werden.
Gruß Barlee