Mitgliedsjahre berechnen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

benediktlangmantl
Beiträge: 2
Registriert: Mo, 22.01.2018 23:49

Mitgliedsjahre berechnen

Beitrag von benediktlangmantl »

Hallo, ich habe folgende Abfrage in Base gemacht

Code: Alles auswählen

SELECT "M_ID", "Name", "Vorname", "Geb-Datum", DATEDIFF( 'yy', "Geb-Datum", CURRENT_DATE ) - CASEWHEN( DAYOFYEAR( "Geb-Datum" ) > DAYOFYEAR( CURRENT_DATE ), 1, 0 ) AS "Alter", "Anrede", "Straße", "PLZ", "Ort", "Land", "Telefon1", "Telefon2", "Telefax", "Telefax", "E-Mail", "Eintritt", "Austritt", DATEDIFF( 'yy', "Eintritt", CURDATE( ) ) AS "Mitgliedsjahre", "Bemerkung", "Foto", "Status" FROM "tbl_Mitglieder"
ich bekomme es hin, die Mitgliedsjahre ausgehend vom Eintrittsdatum zu berechnen. wie muss ich die SQL Ändern, wenn im Feld Austritt etwas steht. Dann soll von Eintrittsdatum bis Austrittsdatum berechnet werden und nicht wie bisher bis heute

Danke schon mal im Voraus aus Berlin
RobertG
********
Beiträge: 2033
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Mitgliedsjahre berechnen

Beitrag von RobertG »

Hallo benediktlangmantl,

Code: Alles auswählen

SELECT "M_ID", "Name", "Vorname", "Geb-Datum", 
DATEDIFF( 'yy', "Geb-Datum", CURRENT_DATE ) - CASEWHEN( DAYOFYEAR( "Geb-Datum" ) > DAYOFYEAR( CURRENT_DATE ), 1, 0 ) AS "Alter", 
"Anrede", "Straße", "PLZ", "Ort", "Land", "Telefon1", "Telefon2", "Telefax", "Telefax", "E-Mail", "Eintritt", "Austritt", 
CASE WHEN "Austritt" IS NULL THEN 
DATEDIFF( 'yy', "Eintritt", CURDATE( ) )
ELSE DATEDIFF( 'yy', "Eintritt", "Austritt" )
END AS "Mitgliedsjahre", "Bemerkung", "Foto", "Status" FROM "tbl_Mitglieder"
Gruß

Robert
benediktlangmantl
Beiträge: 2
Registriert: Mo, 22.01.2018 23:49

Re: Mitgliedsjahre berechnen

Beitrag von benediktlangmantl »

Vielen Dank RobertG hat super geklappt
Vielen Dank Gruß aus Berlin
Antworten