declare @_DATUMVON nvarchar(50), @_DATUMBIS nvarchar(50)
set @_DATUMVON = '01.01.2022'
set @_DATUMBIS = '19.09.2022'
select '' as 'Datum: ', @_DATUMVON as 'von', @_DATUMBIS as 'bis' --where 1!=1
select '' as 'Auswertung Rechnungen' where 1!=1
;WITH Temp as(
select REArtikelnummer, REDatum, REBelegnummer, REGesamtpreis, EGDatum, EGBelegnummer, EGGesamtpreis,
ua2.Datum, ua2.Belegnummer, ua2.Gesamtpreis
from(
select bpr.Artikelnummer REArtikelnummer, r.datum REDatum, bpr.Belegnummer REBelegnummer, r.Netto REGesamtpreis, beg.Datum EGDatum, bpeg.Belegnummer EGBelegnummer, beg.Netto EGGesamtpreis, beg._BELEGKUNDE
from beleg r
inner join BELEGP bpr on bpr.Belegnummer = r.Belegnummer
inner join BELEGP bpauf on bpauf.Kennung = bpr.Vorgaenger and bpauf.Artikelnummer = bpr.Artikelnummer
inner join BELEGPVERWEIS bpvauf on bpvauf.Quelle = bpauf.Kennung
inner join BELEGP bpbes on bpbes.Kennung = bpvauf.Fertigung and bpbes.Artikelnummer = bpauf.Artikelnummer
inner join BELEGP bpeg on bpeg.Vorgaenger = bpbes.Kennung and bpeg.Artikelnummer = bpbes.Artikelnummer
inner join BELEG beg on beg.Belegnummer = bpeg.Belegnummer
inner join BELEGP rversand on rversand.Belegnummer = r.Belegnummer
inner join BELEGP egversand on egversand.Belegnummer = beg.Belegnummer
where
r.Belegtyp = 'R'
and beg.Belegtyp = 'E'
and bpr.Artikelnummer != 'VERSAND'
and beg.Datum >= @_DATUMVON
and beg.Datum <= @_DATUMBIS
and rversand.Artikelnummer = 'VERSAND'
and egversand.Artikelnummer = 'VERSAND'
union all
select bpr.Artikelnummer, r.datum, bpr.Belegnummer, r.Netto, beg.Datum, bpeg.Belegnummer, beg.Netto, beg._BELEGKUNDE
from beleg r
inner join BELEGP bpr on bpr.Belegnummer = r.Belegnummer
inner join BELEGP bpauf on bpauf.Kennung = bpr.Vorgaenger and bpauf.Artikelnummer = bpr.Artikelnummer
inner join BELEGPVERWEIS bpvauf on bpvauf.Quelle = bpauf.Kennung
inner join BELEGP bpbes on bpbes.Kennung = bpvauf.Fertigung and bpbes.Artikelnummer = bpauf.Artikelnummer
inner join BELEGP bpwe on bpwe.Vorgaenger = bpbes.Kennung and bpwe.Artikelnummer = bpbes.Artikelnummer
inner join BELEGP bpeg on bpeg.Vorgaenger = bpwe.Kennung and bpeg.Artikelnummer = bpwe.Artikelnummer
inner join BELEG beg on beg.Belegnummer = bpeg.Belegnummer
inner join BELEGP rversand on rversand.Belegnummer = r.Belegnummer
inner join BELEGP egversand on egversand.Belegnummer = beg.Belegnummer
where
r.Belegtyp = 'R'
and beg.Belegtyp = 'E'
and bpr.Artikelnummer != 'VERSAND'
and beg.Datum >= @_DATUMVON
and beg.Datum <= @_DATUMBIS
and rversand.Artikelnummer = 'VERSAND'
and egversand.Artikelnummer = 'VERSAND'
)ua1
inner join (select * from SL_MEW..BELEGP where Belegtyp = 'E' and Datum >= @_DATUMVON and Datum <= @_DATUMBIS union all select * from SL_MRB..BELEGP where Belegtyp = 'E' and Datum >= @_DATUMVON and Datum <= @_DATUMBIS
) as ua2 on ua2.Belegnummer = _BELEGKUNDE and ua2.Artikelnummer = REArtikelnummer
)
select REBelegnummer as 'Ausgangsrechnung ELS (ohne Versand)', REDatum as 'Datum(ARE)', REGesamtpreis as 'Gesamtpreis1' , EGBelegnummer as 'Eingangsrechnung ELS (ohne Versand)', EGDatum as 'Datum(ERE)', EGGesamtpreis as 'Gesamtpreis2',
Belegnummer as 'ERE RB/EW', Datum as 'Datum(ERE RB/EW)', Gesamtpreis as 'Gesamtpreis3'
from Temp
UNION ALL
SELECT 'Summe Zeitraum:', NULL, sum(REGesamtpreis), '', NULL, sum(EGGesamtpreis), '', NULL, sum(Gesamtpreis)
FROM Temp