SELECT
tl.cFirma AS 'Lieferant',
COUNT(DISTINCT tlbp.kLieferantenBestellung) AS '# Bestellungen',
jLetzte30Tage.absatz AS 'Letzte 30 Tage',
jLetzte60Tage.absatz AS 'Letzte 60 Tage',
jAktuellYTD.absatz AS 'YTD Aktuell',
jVorjahrYTD.absatz AS 'YTD Vorjahr',
jVorjahr.absatz AS 'Gesamt Vorjahr',
FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS 'Gesamt (Netto)'
FROM tLieferantenBestellungPos tlbp
INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
LEFT JOIN (
SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
FROM tLieferantenBestellungPos tlbp
INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
WHERE tlb.kLieferant =
(SELECT tlb.kLieferant
FROM tLieferantenBestellung tlb
WHERE tlb.kLieferantenBestellung = @Key
)
AND tlb.dErstellt > DATEADD(DAY, -30, getdate())
GROUP BY tl.kLieferant
) AS jLetzte30Tage ON jLetzte30Tage.kLieferant = tl.kLieferant
LEFT JOIN (
SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
FROM tLieferantenBestellungPos tlbp
INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
WHERE tlb.kLieferant =
(SELECT tlb.kLieferant
FROM tLieferantenBestellung tlb
WHERE tlb.kLieferantenBestellung = @Key
)
AND tlb.dErstellt > DATEADD(DAY, -60, getdate())
GROUP BY tl.kLieferant
) AS jLetzte60Tage ON jLetzte60Tage.kLieferant = tl.kLieferant
LEFT JOIN (
SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
FROM tLieferantenBestellungPos tlbp
INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
WHERE tlb.kLieferant =
(SELECT tlb.kLieferant
FROM tLieferantenBestellung tlb
WHERE tlb.kLieferantenBestellung = @Key
)
AND tlb.dErstellt BETWEEN DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0) AND GETDATE()
GROUP BY tl.kLieferant
) AS jAktuellYTD ON jAktuellYTD.kLieferant = tl.kLieferant
LEFT JOIN (
SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
FROM tLieferantenBestellungPos tlbp
INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
WHERE tlb.kLieferant =
(SELECT tlb.kLieferant
FROM tLieferantenBestellung tlb
WHERE tlb.kLieferantenBestellung = @Key
)
AND tlb.dErstellt BETWEEN DATEADD(yy, -1, GETDATE()) AND DATEADD(DAY, -365, getdate())
GROUP BY tl.kLieferant
) AS jVorjahrYTD ON jVorjahrYTD.kLieferant = tl.kLieferant
LEFT JOIN (
SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
FROM tLieferantenBestellungPos tlbp
INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
WHERE tlb.kLieferant =
(SELECT tlb.kLieferant
FROM tLieferantenBestellung tlb
WHERE tlb.kLieferantenBestellung = @Key
)
AND YEAR(tlb.dErstellt) = YEAR(DATEADD(YEAR, -1, GETDATE()))
GROUP BY tl.kLieferant
) AS jVorjahr ON jVorjahr.kLieferant = tl.kLieferant
WHERE tlb.kLieferant = (SELECT tlb.kLieferant FROM tLieferantenBestellung tlb WHERE tlb.kLieferantenBestellung = @Key)
GROUP BY tl.cFirma, jLetzte30Tage.absatz, jLetzte60Tage.absatz, jAktuellYTD.absatz, jVorjahrYTD.absatz, jVorjahr.absatz