Funkitioniert das?
SQL-Code:
select
tu.FahrerNr,
b.Name,
tu.VKBG as Umsatz,
case when tu.Zahlart = 1 then tu.VKBG else 0 end as Bar,
case when tu.Zahlart = 3 then tu.VKBG else 0 end as Karte,
case when tu.Zahlart = 2 then tu.VKBG else 0 end as LS
from Tagesumsatz tu
left join Fahrer b on b.Nr = tu.FahrerNr
where tu.Datum between :EingabeDatumVon and :EingabeDatumBis
order by tu.FahrerNr, b.Name, tu.VKBG
Wenn ja, dann bitte das probieren:
SQL-Code:
select
tu.FahrerNr,
b.Name,
Sum(tu.VKBG) as Umsatz,
Sum(case when tu.Zahlart = 1 then tu.VKBG else 0 end) as Bar,
Sum(case when tu.Zahlart = 3 then tu.VKBG else 0 end) as Karte,
Sum(case when tu.Zahlart = 2 then tu.VKBG else 0 end) as LS
from Tagesumsatz tu
left join Fahrer b on b.Nr = tu.FahrerNr
where tu.Datum between :EingabeDatumVon and :EingabeDatumBis
group by tu.FahrerNr, b.Name
order by tu.FahrerNr, b.Name
Wenn etwas nicht funktioniert bitte die Fehlermeldung posten.
Wie war die Laufzeit der letzten beiden Versuche?
Besser als beim ursprünglichen
SQL oder eher ähnlich "langatmig"?