Re: [de-users] Gruppenbildung über versch achtelte Abfrage
Moin. Also soweit ich weiß -bin nämlich selber mal darauf reingefallen, ist alter ein SQL - Befehl zum ändern von Tabelleninhalten... und kann demzufolge nicht als Bezeichner verwendet werden. Das allerdings war bei MySql 4.xx - wie es heute ist, weiß ich nicht. Gruß, claus Am 26.12.2010 12:24, schrieb Jürgen: Hallo, ich möchte über eine Abfrage Gruppen bilden lassen, das neu auszugebende Feld soll also unterschiedliche Einträge erhalten. Wenn ich beim Beispiel des Alters bleibe, also folgende Gruppen: unter 19 19 - 30 31 - 40 über 40 Im Dienst mache ich meine Abfragen mit Crystal Reports, das eine tolle SQL-Formulierung erlaubt. Hier wäre die Vorgehensweise, zunächst das Formelfeld zu benennen (also z.B. Altersgruppe) und dann dieses Feld zu editieren. Für die genannten Bedingungen wäre dies: if Alter 19 then 1 else if (Alter =19 and Alter30) then 2 else if (Alter =30 and Alter40) then 3 else if Alter =40 then 4 In der Base-Abfrage habe ich jetzt mit allen möglichen Formulierungen IF CASEWHEN CASE WHEN Aber schon der erste Schritt wie CASE WHEN Alter 19 THEN 1 END (analog zu CASE WHEN expr1 THEN v1[WHEN expr2 THEN v2] [ELSE v4] END aus http://hsqldb.org/doc/guide/ch09.html;) führt nur zu einer Fehlermeldung, wo und wieviele Klammern ich auch ergänzen mag Weiß jemand eine Lösung für diese Fragestellung? Danke schon mal für jeden Hinweis Jürgen - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Gruppenbildung über versch achtelte Abfrage
Hallo Claus, Also soweit ich weiß -bin nämlich selber mal darauf reingefallen, ist alter ein SQL - Befehl zum ändern von Tabelleninhalten... und kann demzufolge nicht als Bezeichner verwendet werden. Das allerdings war bei MySql 4.xx - wie es heute ist, weiß ich nicht. Den Teil würde auch eine alte MySQL-Fassung nicht als Befehl interpretieren, da Alter in Anführungsstrichen stand. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Gruppenbildung über versch achtelte Abfrage
Hallo Jürgen, ich möchte über eine Abfrage Gruppen bilden lassen, das neu auszugebende Feld soll also unterschiedliche Einträge erhalten. Wenn ich beim Beispiel des Alters bleibe, also folgende Gruppen: unter 19 19 - 30 31 - 40 über 40 Im Dienst mache ich meine Abfragen mit Crystal Reports, das eine tolle SQL-Formulierung erlaubt. Hier wäre die Vorgehensweise, zunächst das Formelfeld zu benennen (also z.B. Altersgruppe) und dann dieses Feld zu editieren. Für die genannten Bedingungen wäre dies: if Alter 19 then 1 else if (Alter =19 and Alter30) then 2 else if (Alter =30 and Alter40) then 3 else if Alter =40 then 4 Folgendes müsste funktionieren (ich habe spontan nur CASEWHEN-Beispiele gefunden) CASEWHEN (Bedingung,Dann,Sonst) Also: CASEWHEN((Alter19),1,CASEWHEN((Alter31),2,CASEWHEN((Alter40),3,4))) In der Base-Abfrage habe ich jetzt mit allen möglichen Formulierungen IF CASEWHEN CASE WHEN Aber schon der erste Schritt wie CASE WHEN Alter 19 THEN 1 END (analog zu CASE WHEN expr1 THEN v1[WHEN expr2 THEN v2] [ELSE v4] END aus http://hsqldb.org/doc/guide/ch09.html;) führt nur zu einer Fehlermeldung, wo und wieviele Klammern ich auch ergänzen mag Die Klammern müssen vor allem dann stehen, wenn Du eine Bedingung formulierst. Leerzeichen bringen die Abfrage sonst durcheinander. Gegebenenfalls muss auch die Abfrage nicht über die GUI gestellt werden, sondern der Button für die direkte SQL-Abfrage gedrückt werden. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Gruppenbildung über versch achtelte Abfrage
Hallo Jürgen Am 26.12.2010 12:24, schrieb Jürgen: Aber schon der erste Schritt wie CASE WHEN Alter 19 THEN 1 END (analog zu CASE WHEN expr1 THEN v1[WHEN expr2 THEN v2] [ELSE v4] END aus http://hsqldb.org/doc/guide/ch09.html;) führt nur zu einer Fehlermeldung, wo und wieviele Klammern ich auch ergänzen mag Da kannst Du wohl nichts machen, leider. Folgendes SQL: SELECT Name , Alter ,case when Alter 18 THEN 'Kind' end as Gruppe FROM Tabelle1 Bringt bei mir auch einen Fehler. Wenn ich diese paar Befehle aber kopiere und unter EXTRAS/SQL einfüge und auf ausführen klicke, erhalte ich die Meldung Befehl erfolgreich ausgeführt. Da gibt es wohl Einschränkungen beim Abfrageentwurf, schade. Ahoi Thomas - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Gruppenbildung über versch achtelte Abfrage
Hallo Jürgen und Robert, Am 26.12.2010 18:32, schrieb Robert Großkopf: Folgendes müsste funktionieren (ich habe spontan nur CASEWHEN-Beispiele gefunden) CASEWHEN (Bedingung,Dann,Sonst) Also: CASEWHEN((Alter19),1,CASEWHEN((Alter31),2,CASEWHEN((Alter40),3,4))) Soeben getestet, gleiches Ergebnis wie in meiner Mail von vor ein paar Minuten. Und das direkte SQL-Ausführen bringt ja keine Tabelle zur Ansicht, nur die Meldung. Ahoi Thomas - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Gruppenbildung über versch achtelte Abfrage
Hallo, noch eine gute Nachricht. Ich habe mir mal Libreoffice 3.3 RC2 installiert (geht ja parallel zu OOo) und da funktioniert das SQL wie unten. Vermutlich dann auch unter OOo3.3 (?). Ahoi Thomas Am 26.12.2010 18:46, schrieb Thomas: Hallo Jürgen Am 26.12.2010 12:24, schrieb Jürgen: Aber schon der erste Schritt wie CASE WHEN Alter 19 THEN 1 END (analog zu CASE WHEN expr1 THEN v1[WHEN expr2 THEN v2] [ELSE v4] END aus http://hsqldb.org/doc/guide/ch09.html;) führt nur zu einer Fehlermeldung, wo und wieviele Klammern ich auch ergänzen mag Da kannst Du wohl nichts machen, leider. Folgendes SQL: SELECT Name , Alter ,case when Alter 18 THEN 'Kind' end as Gruppe FROM Tabelle1 Bringt bei mir auch einen Fehler. Wenn ich diese paar Befehle aber kopiere und unter EXTRAS/SQL einfüge und auf ausführen klicke, erhalte ich die Meldung Befehl erfolgreich ausgeführt. Da gibt es wohl Einschränkungen beim Abfrageentwurf, schade. Ahoi Thomas - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Gruppenbildung über versch achtelte Abfrage
Hallo Thomas, CASEWHEN((Alter19),1,CASEWHEN((Alter31),2,CASEWHEN((Alter40),3,4))) Soeben getestet, gleiches Ergebnis wie in meiner Mail von vor ein paar Minuten. Und das direkte SQL-Ausführen bringt ja keine Tabelle zur Ansicht, nur die Meldung. Ich habs getestet - es funktioniert: Die direkte Ausführung ist auch in der Abfrage möglich. Abfrage: Bearbeiten - SQL-Kommando direkt ausführen (oder auch der Button rechts außen ...). Die GUI versteht die Abfrage nicht. Gruß Robert - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org