Public Class cAbfragen Public Shared Rechnungen As String = "select sum(SteuerfreierGesamtbetrag) as Steuerfrei, sum(SteuerpflichtigerGesamtbetrag) as Steuerpflichtig, sum(SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag) as RECHNUNGEN, count(Rechnungsnr) as Anzahl , max(DATENAME(YEAR, (Abfertigungsdatum))) As Jahr, max(Datename(Month, (Abfertigungsdatum))) As Monat from dbo.Rechnungsausgang where FilialenNr = '{0}' AND Abfertigungsdatum >= '{1}' and Abfertigungsdatum <= '{2}' and Vermerk is not null GROUP BY DATEADD(MONTH, DateDiff(Year, 0, Abfertigungsdatum), 0),DATEADD(MONTH, DATEDIFF(MONTH, 0, Abfertigungsdatum ), 0)" Public Shared Vorkosten As String = "select sum(vorkosten) as Vorkosten, count(Nummer) as Anzahl ,max(DATENAME(YEAR, (Datum))) As Jahr, max(Datename(Month, (Datum))) As Monat from( select distinct Rechnungsausgang.AbfertigungsNr as Nummer ,vork.preis as vorkosten ,Rechnungsausgang.Abfertigungsdatum as Datum from dbo.Vorkosten as vork right join dbo.Rechnungsausgang on Rechnungsausgang.AbfertigungsNr = vork.AbfertigungsNr where Rechnungsausgang.FilialenNr = '{0}' AND Abfertigungsdatum >= '{1}' and Abfertigungsdatum <= '{2}' ) as meh GROUP BY DATEADD(MONTH, DateDiff(Year, 0, Datum), 0),DATEADD(MONTH, DATEDIFF(MONTH, 0, Datum ), 0)" Public Shared Einzelauswertung As String = "select atr_frachtpos, atr_auftr_firma, atr_ladest_firma, atr_frachtfab_firma, atr_frachtf_firma, atr_Auftragsart, atr_TransportauftragArt, Vorkosten, case when atr_TransportauftragArt = 'NACH' then atr_frachtfab_firma when atr_TransportauftragArt = 'VOR' then atr_frachtf_firma when atr_TransportauftragArt = '' and atr_AuftragsArt = 'Transport' then '' when atr_AuftragsArt = 'Handling' then '-' end as Frächter, case when atr_Auftragsart = 'TRANSPORT' then 'TRANSP.' when atr_Auftragsart = 'HANDLING' then 'HANDLING' end as ShortAuftragsart, case when sum(SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag) is null then '-0' else sum(SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag) end as Rechnungen, --atr_frachtpos, Vorkosten case when Vorzeichen = '-' then (Vorkosten * -1) else Vorkosten end as Vorkosten_Vorzeichen, case when sum (SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag - Vorkosten) is null then '0' else sum (SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag - Vorkosten) end as Marge from dbo.Rechnungsausgang as RechAus left join [BUCHHALTUNG\SQLExpress].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos where rechaus.FilialenNr = '{0}' AND atr_datum between '{1}' and '{2}' AND (atr_auftragsart = 'Transport' OR atr_auftragsart = 'Handling') -- AND abfertigungsnr = @AbfertigungsNr group by atr_auftr_firma, AbfertigungsNr, atr_frachtpos, atr_auftr_firma, atr_frachtfAb_firma, atr_frachtf_firma, atr_ladest_firma, atr_Auftragsart, atr_TransportauftragArt, Vorkosten, Vorzeichen order by atr_frachtpos" Public Shared VorkostenStandardauswertung As String = " select min(atr_datum) as Meh, max(DATENAME(month, (atr_datum))) As Monat, max(DATENAME(YEAR, (atr_datum))) As Jahr, sum(Vorkosten) as Vorkosten FROM ( SELECT Vorkosten, atr_datum, ROW_NUMBER() OVER(PARTITION BY AbfertigungsNr ORDER BY AbfertigungsNr DESC) as rn from dbo.Rechnungsausgang as RechAus left join [BUCHHALTUNG\SQLExpress].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos where rechaus.FilialenNr = '{0}' AND atr_datum between '{1}' and '{2}' AND (atr_auftragsart = 'Transport' OR atr_auftragsart = 'Handling') ) a WHERE rn = 1 GROUP BY DATEADD(MONTH, DateDiff(Year, 0, atr_datum), 0),DATEADD(MONTH, DATEDIFF(MONTH, 0, atr_datum ), 0) ORDER BY Meh" Public Shared Jahresauwertung As String = "select max(DATENAME(YEAR, (atr_datum))) As Jahr, count(distinct Speditionsbuch.AbfertigungsNr) As Anzahl , sum (Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) as Rechnungen, --atr_frachtpos, Vorkosten sum (vorkosten) as Vorkosten, sum (Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag - Vorkosten) as Marge FROM ((VERAG.dbo.Speditionsbuch --as SpedBuch inner join [BUCHHALTUNG\SQLEXPRESS].DISPO.dbo.tblAuftraege as dispoauftraege on atr_speditionsbuchNr = Speditionsbuch.FilialenNr AND atr_frachtpos = Speditionsbuch.AbfertigungsNr) inner join VERAG.dbo.Rechnungsausgang on atr_speditionsbuchNr = Rechnungsausgang.FilialenNr AND atr_frachtpos = Rechnungsausgang.AbfertigungsNr) where atr_datum between '{1}' and '{2}' AND atr_speditionsbuchNr = '{0}' AND (atr_auftragsart = 'Transport' OR atr_auftragsart = 'Handling') GROUP BY DATEADD(YEAR, DateDiff(Year, 0, atr_datum), 0),DATEADD(YEAR, DATEDIFF(YEAR, 0, atr_datum ), 0) Order BY Jahr asc" Public Shared Standardauswertung As String = "select min(atr_datum) as Meh, max(DATENAME(month, (atr_datum))) As Monat, max(DATENAME(YEAR, (atr_datum))) As Jahr, count(distinct AbfertigungsNr) As Anzahl , sum (SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag) as Rechnungen, sum (SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag - Vorkosten) as Marge from dbo.Rechnungsausgang as RechAus left join [BUCHHALTUNG\SQLExpress].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos where rechaus.FilialenNr = '{0}' AND atr_datum between '{1}' and '{2}' AND (atr_auftragsart = 'Transport' OR atr_auftragsart = 'Handling') GROUP BY DATEADD(MONTH, DateDiff(Year, 0, atr_datum), 0),DATEADD(MONTH, DATEDIFF(MONTH, 0, atr_datum ), 0) ORDER BY Meh" End Class Public Class cHelferleins '',max(DATENAME(YEAR, (Abfertigungsdatum))) As Jahr, '-' As Monat End Class ' Public Shared Einzelauswertung As String = "select 'atr_frachtpos, 'atr_auftr_firma, 'atr_ladest_firma, 'atr_frachtfab_firma, 'atr_frachtf_firma, 'atr_Auftragsart, 'atr_TransportauftragArt, 'count(*) As Anzahl, 'case ' when atr_TransportauftragArt = 'NACH' then atr_frachtfab_firma ' when atr_TransportauftragArt = 'VOR' then atr_frachtf_firma ' when atr_TransportauftragArt = '' and atr_AuftragsArt = 'Transport' then '' ' when atr_AuftragsArt = 'Handling' then '-' 'end as Frächter, 'case ' when atr_Auftragsart = 'TRANSPORT' then 'TRANSP.' ' when atr_Auftragsart = 'HANDLING' then 'HANDLING' 'end as ShortAuftragsart, 'case ' when sum(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) is null then '-0' ' else sum(Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) 'end as Rechnungen, --atr_frachtpos, Vorkosten 'case ' when sum (vorkosten) is null then '0' ' when sum (vorkosten) is null then '0' ' when sum (vorkosten) is null then '0' ' else sum(vorkosten) 'end as Vorkosten, 'case ' when sum (Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag - Vorkosten) is null then '0' ' else sum (Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag - Vorkosten) 'end as Marge ' from (([BUCHHALTUNG\SQLEXPRESS].DISPO.dbo.tblAuftraege as dispoauftraege 'inner join VERAG.dbo.Speditionsbuch on atr_speditionsbuchNr = Speditionsbuch.FilialenNr AND atr_frachtpos = Speditionsbuch.AbfertigungsNr) 'inner join VERAG.dbo.Rechnungsausgang on atr_speditionsbuchNr = Rechnungsausgang.FilialenNr AND atr_frachtpos = Rechnungsausgang.AbfertigungsNr) 'where atr_datum between '{1}' and '{2}' 'AND atr_speditionsbuchNr = '{0}' 'AND Abfertigungsart = '19' 'group by atr_frachtpos, atr_auftr_firma, atr_frachtfAb_firma, atr_frachtf_firma, atr_ladest_firma, atr_Auftragsart, atr_TransportauftragArt--, Anzahl 'ORDER BY atr_frachtpos" ' Public Shared Standardauswertung As String = "select 'max(DATENAME(month, (atr_datum))) As Monat, 'max(DATENAME(YEAR, (atr_datum))) As Jahr, 'count(distinct Speditionsbuch.AbfertigungsNr) As Anzahl , 'sum (Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag) as Rechnungen, '--sum (vorkosten) as Vorkosten, 'sum (Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag - Vorkosten) as Marge 'FROM ((VERAG.dbo.Speditionsbuch --as SpedBuch 'inner join [BUCHHALTUNG\SQLEXPRESS].DISPO.dbo.tblAuftraege as dispoauftraege on atr_speditionsbuchNr = Speditionsbuch.FilialenNr AND atr_frachtpos = Speditionsbuch.AbfertigungsNr) 'inner join VERAG.dbo.Rechnungsausgang on atr_speditionsbuchNr = Rechnungsausgang.FilialenNr AND atr_frachtpos = Rechnungsausgang.AbfertigungsNr) 'where atr_datum between '{1}' and '{2}' 'AND atr_speditionsbuchNr = '{0}' '--AND (atr_auftragsart = 'Transport' OR atr_auftragsart = 'Handling') 'AND Abfertigungsart = '19' 'GROUP BY DATEADD(MONTH, DateDiff(Year, 0, atr_datum), 0),DATEADD(MONTH, DATEDIFF(MONTH, 0, atr_datum ), 0)" 'End Class