Dubbel als (WHEN) wil niet gaan werken

Status
Niet open voor verdere reacties.

Kevercat

Gebruiker
Lid geworden
11 aug 2008
Berichten
88
Hallo,

Ik ben al tijden een database van Access naar oOo Base aan het converteren maar er is 1 ding wat me dwars zit en niet wil lukken. Wat ik wil is met 2 ja/nee velden (Partner? en Partnernaam) bepalen hoe de namen genoteerd moeten worden dus eigenlijk zo:

Als Partnernaam gelijk is aan Ja(-1) dan is de notatie: Voornaam Tussenvoegsel Achternaam & Voornaam partner Tussenvoegsel partner Achternaam partner anders wil ik weten of er wel een partner is Partner? Is gelijk aan Ja(-1) dan moet de notatie worden Voornaam & Voornaam partner Tussenvoegsel Achternaam als dat allemaal niet waar is wordt de notatie simpel Voornaam Tussenvoegsel Achternaam.

Ik dacht dus met het volgende de boel op te lossen maar daar trapt Base niet in en geeft een syntax error:

Code:
TRIM ( BOTH FROM CASE WHEN "Partnernaam"=-1 THEN "Voornaam" || ' ' || "Tussenvoegsel" || ' ' || "Achternaam" ||' & '||  "Voornaam partner" || ' ' || "Tussenvoegsel partner" || ' ' || "Achternaam partner" ELSE  WHEN "Partner?"=-1 THEN "Voornaam" |||' & '||  "Voornaam partner" | ' ' || "Tussenvoegsel" || ' ' || "Achternaam" ELSE "Voornaam" || ' ' || "Tussenvoegsel" || ' ' ||  "Achternaam" END ) AS "Namen",

Heeft iemand een idee hoe ik dit dan wel moet oplossen? Ik zet de hele SQL Query waarin dit ingebouwd moet worden hier onder voor het idee:

Code:
SELECT "ID", "Barnummer", "Voornaam", "Voorletters", "Tussenvoegsel", "Achternaam", TRIM ( BOTH FROM CONCAT( "Voornaam" || ' ' || "Tussenvoegsel" || ' ' || "Achternaam" ) ) AS "Naam", "Geb datum", DATEDIFF( 'dd', "Geb datum", CURRENT_DATE ) / 365 AS "Leeftijd", "Partner?", "Voornaam partner", "Voorletters partner", "Tussenvoegsel partner", "Achternaam partner", TRIM ( BOTH FROM CASE WHEN "Partner?"=-1 THEN "Voornaam" || ' ' || "Tussenvoegsel" || ' ' || "Achternaam" ||' & '||  "Voornaam partner" || ' ' || "Tussenvoegsel partner" || ' ' || "Achternaam partner" ELSE  "Voornaam" || ' ' || "Tussenvoegsel" || ' ' ||  "Achternaam" END ) AS "Volledige namen", "Geb datum partner", DATEDIFF( 'dd', "Geb datum partner", CURRENT_DATE ) / 365 AS "Leeftijd partner", "Partnernaam", "Adres", "Postcode", "Woonplaats", TRIM ( BOTH FROM CONCAT( "Postcode" || '  ' || "Woonplaats" ) ) AS "Postcode + Woonplaats", "Telefoon", "Telefoon 2", "E-mail", "E-mail partner", "Lidnummer", "Lid sinds", "Digitaal Wilgenblad", "Wilgenblad zenden", "Corvee", "Bestuursfunctie", "Functie", "EHBO", "Donateur", "Kinderen?", "Voornaam kind 1", "Voorletters kind 1", "Tussenvoegsel kind 1", "Achternaam kind 1", "E-mail kind 1", "Geb datum kind 1", "Voornaam kind 2", "Voorletters kind 2", "Tussenvoegsel kind 2", "Achternaam kind 2", "Geb datum kind 2", "E-mail kind 2", "Voornaam kind 3", "Voorletters kind 3", "Tussenvoegsel kind 3", "Achternaam kind 3", "Geb datum kind 3", "E-mail kind 3", "Voornaam kind 4", "Voorletters kind 4", "Tussenvoegsel kind 4", "Achternaam kind 4", "Geb datum kind 4", "E-mail kind 4", "Voornaam kind 5", "Voorletters kind 5", "Tussenvoegsel kind 5", "Achternaam kind 5", "Geb datum kind 5", "E-mail kind 5" FROM "HLB_leden" AS "HLB_leden" WHERE "Bestuursfunctie" = 0 AND "EHBO" = 0 AND "Donateur" = 0 ORDER BY "Achternaam" ASC

Alvast bedankt voor het meedenken
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan