Seite 1 von 1

Bedingungen in einer Ansicht

Verfasst: So, 13.01.2008 19:10
von bello15
Hallo,
bin noch neu in OOoBase. Sammele Datensätze mit Felder ErstPreis und AktuellerPreis. Der Wert für Erstpreis ist immer einzugeben, der AktuellerPreis Wert nur dann, wenn er sich verändert hat. Habe gelernt, in einer Base Tabelle kann man nicht rechnen, aber in einer Abfrage geht das ganz gut. Nun will ich beide Felder in einer Abfrage zeigen und zwar so, dass wenn für AktuellerPreis kein Wert vorhanden ist automatisch der Wert von Erstpreis übernommen wird. In einem weiteren Feld würde ich dann mit AktuellerPreis rechnen.
In der Abfrage habe ich ein Feld gemacht mit AktuellerPreis =WENN(AktuellerPreis = ' ';ErstPreis;AktuellerPreis)
das funktioniert nicht, auch nicht wenn ich ...(AktuellerPreis = " "; oder ...(AktuellerPreis = 0;
verwende.
Auch der Versuch ein separates Feld einzuführen half nicht RechFeld1 =Wenn(AktuellerPreis = ' ';Erstpreis;AktuellerPreis).
Kann mir jemand helfen? Auf jeden Fall schon mal vielen Dank.

Re: Bedingungen in einer Ansicht

Verfasst: So, 13.01.2008 23:21
von Barlee
Hallo bello15,
versuche in der SQL Entwurfsansicht einmal folgendes in Deine Abfrage aufzunehmen:

Code: Alles auswählen

SELECT
...
CASEWHEN ( "AktuellerPreis" IS NULL, "Erstpreis", "AktuellerPreis")
FROM
...
Gruß Barlee

Re: Bedingungen in einer Ansicht

Verfasst: Mo, 14.01.2008 15:35
von bello15
Hallo Barlee,
schönen Dank für Deine Hilfe. Habe Deinen Text per copy/paste in meine SQL-Ansicht eingefügt. Dies erzeugt leider einen Sysntax error in SQL expression. In Deinem Text steht als letzte Textzeile From. Habe hier versucht ein blank und dann den Namen der Tabelle, aus der die Felder sind, einzufügen. Hat leider auch nicht geholfen, gleiche Fehlernachricht.

Re: Bedingungen in einer Ansicht

Verfasst: Mo, 14.01.2008 19:51
von Barlee
Hallo bello15,

folgendes Beispiel kann Dir als Anregung dienen. Es funktioniert:

Code: Alles auswählen

SELECT 
"Spalte1", 
"Spalte2",
CASEWHEN("Spalte1" IS NULL,'Eins','Zwei')  as "Test1"
FROM 
"Deine_Tabelle"
Falls Du weiterhin mit Deiner Abfrage Schwierigkeiten haben solltest, dann kopiere sie einmal hier rein.

Gruß Barlee

Re: Bedingungen in einer Ansicht

Verfasst: Mo, 14.01.2008 20:25
von jan76
@Barlee

Gibt es eine Dokumentation des Befehls "Casewhen"? Ich bekomme ständig Synthax-Error.

Re: Bedingungen in einer Ansicht

Verfasst: Mo, 14.01.2008 20:34
von Barlee
Hallo Jan76,

ich orientiere mich immer an folgender Doku:
http://hsqldb.org/web/hsqlDocsFrame.html

Gruß Barlee

Re: Bedingungen in einer Ansicht

Verfasst: Di, 15.01.2008 19:18
von bello15
Hallo Barlee,
habe 2 Abfragen. Diese läuft sofort ohne error
SELECT "StartPreis","AktuellerPreis"
FROM "TabETWAngebote"

Sobald ich die Zeile <<<CASEWHEN("AktuellerPreis" IS NULL,"StartPreis","AktuellerPreis") as "AktuellerPreis">>> einfüge, bekomme ich den syntax error wie zuvor beschrieben. Hier die zweite Abfrage komplett
SELECT
"StartPreis",
"AktuellerPreis",
CASEWHEN("AktuellerPreis" IS NULL,"StartPreis","AktuellerPreis") as "AktuellerPreis"
FROM
"TabETWAngebote"

Re: Bedingungen in einer Ansicht

Verfasst: Di, 15.01.2008 19:36
von Barlee
Hallo bello15,

vermute ich richtig, dass Du unter "Bearbeiten" die Option "SQL Kommando direkt ausführen" nicht aktiviert hast?
Wenn ja, dann setze es aktiv und probiere erneut.
Deine Abfrage is vollkommen ok!

Gruß Barlee

Re: Bedingungen in einer Ansicht

Verfasst: Mi, 16.01.2008 10:55
von bello15
Hallo Barlee,
vielen Dank, jetzt läuft es perfekt.

Re: Bedingungen in einer Ansicht

Verfasst: Mi, 30.04.2008 18:46
von bello15
Hallo benste,
der erste Punkt wäre eine Abfrage
mit mind. dieser Zeile
SELECT "ID" FROM "Tabelle" WHERE "ID" < 6
Da die ID wenn per AUTO vergeben mit 0 beginnt, bekommst Du so die ersten 6 Datensätze.
Für deine anderen Punkte habe ich leider keine Idee.