Hallo Robert,

vielen Dank für Deine Unterstützung. Leider komme ich mit dieser Abfrage trotzdem nicht über die Meldung "Fehler in der SQL-Syntax" hinaus.... Auch die "abgespeckten" Abfrage (hier mit meinen Feldnamen) läuft weder in OO 3.2.1, noch in dem eben mal installierten LibreOffice 3.3.0. Bei aller Sucherei finde ich keinen Anhalt, was falsch sein könnte, wenn diese Art der geschachtelten Abfragen überhaupt funktioniert....

SELECT "ID", "GebDatum",
CASEWHEN( DAYOFYEAR( "GebDatum" ) > DAYOFYEAR( NOW( ) ), DATEDIFF( 'yy', "GebDatum", NOW( ) ) - 1, DATEDIFF( 'yy', "GebDatum", NOW( ) ) ) AS "Alter", CASEWHEN((CASEWHEN( DAYOFYEAR( "GebDatum" ) > DAYOFYEAR( NOW( ) ), DATEDIFF( 'yy', "GebDatum", NOW( ) ) - 1, DATEDIFF( 'yy', "GebDatum", NOW( ) ) )<19),1) AS "AltGruppe" FROM "Mitglieder"

Viele Grüße
Jürgen




Am 26.12.2010 20:18, schrieb Robert Großkopf:
Hallo Jürgen,
...

Kann das daran liegen, daß "Alter" in der gleichen Abfrage erstmals
definiert/berechnet wird?

Ist in der Tat so. Die folgende Abfrage funktioniert:

SELECT "ID", CASEWHEN( DAYOFYEAR( "GebDat" )>  DAYOFYEAR( NOW( ) ),
DATEDIFF( 'yy',
"GebDat", NOW( ) ) - 1, DATEDIFF( 'yy', "GebDat", NOW( ) ) ) AS "Alter",
  CASEWHEN((CASEWHEN( DAYOFYEAR( "GebDat" )>  DAYOFYEAR( NOW( ) ),
DATEDIFF( 'yy',
"GebDat", NOW( ) ) - 1, DATEDIFF( 'yy', "GebDat", NOW( ) )
)<19),1,CASEWHEN((CASEWHEN( DAYOFYEAR( "GebDat" )>  DAYOFYEAR( NOW( ) ),
DATEDIFF( 'yy',
"GebDat", NOW( ) ) - 1, DATEDIFF( 'yy', "GebDat", NOW( ) )
)<31),2,CASEWHEN((CASEWHEN( DAYOFYEAR( "GebDat" )>  DAYOFYEAR( NOW( ) ),
DATEDIFF( 'yy',
"GebDat", NOW( ) ) - 1, DATEDIFF( 'yy', "GebDat", NOW( ) ) )<40),3,4)))
AS "Gruppe"
  FROM "Datum" AS "Datum"

Gruß

Robert



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an