--declare @timeStamp datetime2 = '10.01.2016'
SELECT
cArtNr
,bestand.Bestand
,fEkNetto
,fEkNetto * bestand.Bestand as 'Gesamt Ek Netto (GLD)'
,bestand.Wert 'Gesamt Ek Laut WE'
,fVKNetto
,fVKNetto * bestand.Bestand as 'GesamtVkNetto'
,@timeStamp 'Zeitpunkt'
from tArtikel a
join
(SELECT
tabAusgang.kArtikel
,IsNull(Eingaenge,0)-ISNULL(Ausgaenge,0) 'Bestand'
,IsNull(WertEingänge,0)-ISNULL(WertAusgänge,0) 'Wert'
FROM
(
SELECT
SUM(wla.fAnzahl) AS 'Ausgaenge'
,SUM(wla.fAnzahl * wle.fEKEinzel) AS 'WertAusgänge'
,wla.kArtikel
FROM dbo.tWarenLagerAusgang wla
join dbo.tWarenLagerEingang wle on wla.kWarenLagerEingang = wle.kWarenLagerEingang
WHERE wla.dErstellt < @timeStamp
group by wla.kArtikel
) tabAusgang
JOIN
(
SELECT
SUM(wle.fAnzahl) AS 'Eingaenge'
,SUM(wle.fAnzahl * wle.fEKEinzel) AS 'WertEingänge'
,kArtikel
FROM dbo. tWarenLagerEingang wle
WHERE wle.dErstellt < @timeStamp
-- and ISNULL(wle.kWarenLagerEingang_Ursprung,0) != 0
group by wle.kArtikel
) tabEingang ON tabAusgang.kArtikel=tabEingang.kArtikel
) bestand on a.kArtikel = bestand.kArtikel
where Bestand > 0