SELECT jahresumsaetze.kunde_id, kunde.tour_id, kunde.kunde_nr, kunde.name1, kunde.name2, kunde."straße", kunde.plz, kunde.bezeichnung, kunde.land, kunde.aktiv, kunde.bettenanzahl, kunde.kunde_gruppe, kunde.service, kunde.region, kunde.waescheart, jahresumsaetze.jahr, jahresumsaetze.umsatz, CASE WHEN kunde.bettenanzahl = 0::numeric THEN 0::double precision ELSE jahresumsaetze.umsatz / kunde.bettenanzahl::double precision END AS umsatz_pro_gast, CASE WHEN kunde.bettenanzahl = 0::numeric THEN 0::double precision ELSE katkostenjejahr.kat1 * '-1'::integer::double precision * jahresumsaetze.umsatz / gesamtumsatz.umsatz / kunde.bettenanzahl::double precision END AS var_kost_anteil, CASE WHEN kunde.bettenanzahl = 0::numeric THEN 0::double precision WHEN kunde.waescheart::text = 'Miete'::text THEN (katkostenjejahr.kat2 / bettenanzahl.mietbetten::double precision + katkostenjejahr.kat0 / bettenanzahl.gesamtbetten::double precision) * '-1'::integer::double precision ELSE katkostenjejahr.kat0 / bettenanzahl.gesamtbetten::double precision * '-1'::integer::double precision END AS fixkosten, CASE WHEN kunde.bettenanzahl = 0::numeric THEN 0::double precision WHEN kunde.waescheart::text = 'Miete'::text THEN jahresumsaetze.umsatz / kunde.bettenanzahl::double precision - (katkostenjejahr.kat1 * '-1'::integer::double precision * jahresumsaetze.umsatz / gesamtumsatz.umsatz / kunde.bettenanzahl::double precision + (katkostenjejahr.kat2 / bettenanzahl.mietbetten::double precision + katkostenjejahr.kat0 / bettenanzahl.gesamtbetten::double precision) * '-1'::integer::double precision) ELSE jahresumsaetze.umsatz / kunde.bettenanzahl::double precision - (katkostenjejahr.kat1 * '-1'::integer::double precision * jahresumsaetze.umsatz / gesamtumsatz.umsatz / kunde.bettenanzahl::double precision + katkostenjejahr.kat0 / bettenanzahl.gesamtbetten::double precision * '-1'::integer::double precision) END AS erfolg_pro_gast, CASE WHEN kunde.bettenanzahl = 0::numeric THEN 0::double precision WHEN kunde.waescheart::text = 'Miete'::text THEN (jahresumsaetze.umsatz / kunde.bettenanzahl::double precision - (katkostenjejahr.kat1 * '-1'::integer::double precision * jahresumsaetze.umsatz / gesamtumsatz.umsatz / kunde.bettenanzahl::double precision + (katkostenjejahr.kat2 / bettenanzahl.mietbetten::double precision + katkostenjejahr.kat0 / bettenanzahl.gesamtbetten::double precision) * '-1'::integer::double precision)) * kunde.bettenanzahl::double precision ELSE (jahresumsaetze.umsatz / kunde.bettenanzahl::double precision - (katkostenjejahr.kat1 * '-1'::integer::double precision * jahresumsaetze.umsatz / gesamtumsatz.umsatz / kunde.bettenanzahl::double precision + katkostenjejahr.kat0 / bettenanzahl.gesamtbetten::double precision * '-1'::integer::double precision)) * kunde.bettenanzahl::double precision END AS erfolg_gesamt FROM kundenverwaltung.kunde, kundenverwaltung.jahresumsaetze, kundenverwaltung.katkostenjejahr, kundenverwaltung.bettenanzahl, kundenverwaltung.gesamtumsatz WHERE gesamtumsatz.jahr = jahresumsaetze.jahr AND katkostenjejahr.jahr = jahresumsaetze.jahr AND jahresumsaetze.kunde_id = kunde.kunde_id ORDER BY kunde.kunde_id, jahresumsaetze.jahr;