47 lines
3.4 KiB
SQL
47 lines
3.4 KiB
SQL
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; |