Hallo php Forum,
durch die Suche im Internet bin ich auf Euch gestoßen, in der Hoffnung Ihr könnt mir helfen;-)
Meine SQL-Kenntnisse (MS SQL Server 2008) sind nicht besonders gut, möchte aber meinen Stand vom blutigem Anfänger gerne erweitern.
Ich benötige eine Auswertung die wie folgt aussehen soll:
Belegnummer Datum Adressnummer Firma Brutto Gruppe Jahr
12001 23.04.2011 1001 Müller 714 100 2011
12002 26.04.2011 1001 Müller 714 100 2011
12003 30.05.2011 1001 Müller 714 100 2011
12004 31.05.2011 1001 Müller 714 100 2011
Diese hier Soll die ZW-Summe sein:
1001 Müller 2856 2011
12009 26.04.2011 1002 Mayer 714 200 2011
120069 27.04.2011 1002 Mayer 714 200 2011
120070 31.05.2011 1002 Mayer 714 200 2011
120071 31.05.2011 1002 Mayer 714 200 2011
Diese hier Soll die ZW-Summe sein:
1002 Mayer 2856 2011
12005 23.04.2012 1001 Müller 714 100 2012
12006 24.04.2012 1001 Müller 714 100 2012
12007 23.05.2012 1001 Müller 714 100 2012
12008 30.05.2012 1001 Müller 714 100 2012
Diese hier Soll die ZW-Summe sein:
1001 Müller 2856 2012
120072 05.06.2012 1002 Mayer 714 200 2012
120073 07.06.2012 1002 Mayer 714 200 2012
Diese hier Soll die ZW-Summe sein:
1002 Mayer 1428 2012
Und zum Schluß Gesamtsumme:
Jahr 2011 = XXXX Betrag
Jahr 2012 = XXXX Betrag
Folgende SQL-Abfrage habe ich erstellt:
select beleg.Belegnummer, beleg.Datum, beleg.Adressnummer, beleg.Firma, beleg.Brutto,
kunden.Gruppe,
DATEPART (YY, beleg.datum) as Jahr
from Beleg, Kunden
where kunden.nummer = beleg.Adressnummer
and DATEPART (YY, beleg.Datum) >= :'Jahr von'
and DATEPART (YY, beleg.datum) <= :'Jahr bis'
and kunden.Gruppe >= :'von Gruppe'
and kunden.Gruppe <= :'bis Gruppe'
and belegtyp = 'R'
GROUP BY beleg.Belegnummer, beleg.Datum, beleg.Adressnummer, beleg.Firma, beleg.Brutto,
kunden.Gruppe,
DATEPART (YY, beleg.datum)
UNION ALL
SELECT NULL, NULL, Adressnummer, Firma, SUM (Brutto), Null, DATEPART (YY, beleg.datum)
FROM Beleg
GROUP BY DATEPART (YY, beleg.datum), Adressnummer, Firma
Order BY DATEPART (YY, beleg.datum), Adressnummer
Und mein Ergebnis sieht wie folgt aus:
Belegnummer Datum Adressnummer Firma Brutto Gruppe Jahr
12001 23.04.2011 1001 Müller 714 100 2011
12002 26.04.2011 1001 Müller 714 100 2011
12003 30.05.2011 1001 Müller 714 100 2011
12004 31.05.2011 1001 Müller 714 100 2011
[COLOR=red]1001 Müller 2856 2011[/COLOR]
[COLOR=red]1002 Mayer 2856 2011[/COLOR]
12009 26.04.2011 1002 Mayer 714 200 2011
12069 27.04.2011 1002 Mayer 714 200 2011
12070 31.05.2011 1002 Mayer 714 200 2011
12071 31.05.2011 1002 Mayer 714 200 2011
[COLOR=#ff0000]1001 Müller 2856 2012[/COLOR]
12005 23.04.2012 1001 Müller 714 100 2012
12006 24.04.2012 1001 Müller 714 100 2012
12007 23.05.2012 1001 Müller 714 100 2012
12008 30.05.2012 1001 Müller 714 100 2012
[COLOR=black]1002 Mayer 1428 2012[/COLOR]
12072 05.06.2012 1002 Mayer 714 200 2012
12073 07.06.2012 1002 Mayer 714 200 2012
Ich hoffe Ihr könnt mir helfen, damit die Darstellung und reihenfolge Richtig ist.
Für euere Hilfe bedanke ich mich schon im Voraus.
Gruß
sundance69
durch die Suche im Internet bin ich auf Euch gestoßen, in der Hoffnung Ihr könnt mir helfen;-)
Meine SQL-Kenntnisse (MS SQL Server 2008) sind nicht besonders gut, möchte aber meinen Stand vom blutigem Anfänger gerne erweitern.
Ich benötige eine Auswertung die wie folgt aussehen soll:
Belegnummer Datum Adressnummer Firma Brutto Gruppe Jahr
12001 23.04.2011 1001 Müller 714 100 2011
12002 26.04.2011 1001 Müller 714 100 2011
12003 30.05.2011 1001 Müller 714 100 2011
12004 31.05.2011 1001 Müller 714 100 2011
Diese hier Soll die ZW-Summe sein:
1001 Müller 2856 2011
12009 26.04.2011 1002 Mayer 714 200 2011
120069 27.04.2011 1002 Mayer 714 200 2011
120070 31.05.2011 1002 Mayer 714 200 2011
120071 31.05.2011 1002 Mayer 714 200 2011
Diese hier Soll die ZW-Summe sein:
1002 Mayer 2856 2011
12005 23.04.2012 1001 Müller 714 100 2012
12006 24.04.2012 1001 Müller 714 100 2012
12007 23.05.2012 1001 Müller 714 100 2012
12008 30.05.2012 1001 Müller 714 100 2012
Diese hier Soll die ZW-Summe sein:
1001 Müller 2856 2012
120072 05.06.2012 1002 Mayer 714 200 2012
120073 07.06.2012 1002 Mayer 714 200 2012
Diese hier Soll die ZW-Summe sein:
1002 Mayer 1428 2012
Und zum Schluß Gesamtsumme:
Jahr 2011 = XXXX Betrag
Jahr 2012 = XXXX Betrag
Folgende SQL-Abfrage habe ich erstellt:
select beleg.Belegnummer, beleg.Datum, beleg.Adressnummer, beleg.Firma, beleg.Brutto,
kunden.Gruppe,
DATEPART (YY, beleg.datum) as Jahr
from Beleg, Kunden
where kunden.nummer = beleg.Adressnummer
and DATEPART (YY, beleg.Datum) >= :'Jahr von'
and DATEPART (YY, beleg.datum) <= :'Jahr bis'
and kunden.Gruppe >= :'von Gruppe'
and kunden.Gruppe <= :'bis Gruppe'
and belegtyp = 'R'
GROUP BY beleg.Belegnummer, beleg.Datum, beleg.Adressnummer, beleg.Firma, beleg.Brutto,
kunden.Gruppe,
DATEPART (YY, beleg.datum)
UNION ALL
SELECT NULL, NULL, Adressnummer, Firma, SUM (Brutto), Null, DATEPART (YY, beleg.datum)
FROM Beleg
GROUP BY DATEPART (YY, beleg.datum), Adressnummer, Firma
Order BY DATEPART (YY, beleg.datum), Adressnummer
Und mein Ergebnis sieht wie folgt aus:
Belegnummer Datum Adressnummer Firma Brutto Gruppe Jahr
12001 23.04.2011 1001 Müller 714 100 2011
12002 26.04.2011 1001 Müller 714 100 2011
12003 30.05.2011 1001 Müller 714 100 2011
12004 31.05.2011 1001 Müller 714 100 2011
[COLOR=red]1001 Müller 2856 2011[/COLOR]
[COLOR=red]1002 Mayer 2856 2011[/COLOR]
12009 26.04.2011 1002 Mayer 714 200 2011
12069 27.04.2011 1002 Mayer 714 200 2011
12070 31.05.2011 1002 Mayer 714 200 2011
12071 31.05.2011 1002 Mayer 714 200 2011
[COLOR=#ff0000]1001 Müller 2856 2012[/COLOR]
12005 23.04.2012 1001 Müller 714 100 2012
12006 24.04.2012 1001 Müller 714 100 2012
12007 23.05.2012 1001 Müller 714 100 2012
12008 30.05.2012 1001 Müller 714 100 2012
[COLOR=black]1002 Mayer 1428 2012[/COLOR]
12072 05.06.2012 1002 Mayer 714 200 2012
12073 07.06.2012 1002 Mayer 714 200 2012
Ich hoffe Ihr könnt mir helfen, damit die Darstellung und reihenfolge Richtig ist.
Für euere Hilfe bedanke ich mich schon im Voraus.
Gruß
sundance69
Kommentar