Mein SQL-Typ ist auf einem langen Urlaub. Ich weiß genug, um gefährlich zu sein. Ich habe Tische, an denen ich verschiedene Standorte finde, die von einem Gebiet und einem Distrikt und potentiellem Geld und eingenommenem Geld getrennt sind. Spalten von Interesse sind Bereich/Bezirk/Potential/Realisiert. Etwa 12 Top Level Areas und 80 Districts in diesen GebietenSQL-Gruppierung und Summen
Wie kann ich die Daten so abfragen, dass ich bei jeder Änderung des Distrikts eine Pause mit seiner Potenziellen Summe und Realisierten Summe zusammen mit der gleichen Potenziellen Summe und Distriktsumme bekomme Änderung der einzelnen Bereiche?
Etwas wie:
Area1 District1 500 200
Area1 District1 200 null
Total Row 700 200
Area1 District2 200 200
Area1 District2 null null
Total Row 200 200
Area Total 900 400
Area2 District3......etc.........
EDIT für Code. Hier ist, was ich habe, so weit, wenn ich insgesamt jedesmal, wenn die AreaID oder DistrictID bekommen konnte Änderungen Ich glaube, ich den Rest bekommen
DECLARE @FiscalYear INT
SELECT @FiscalYear = 2014
SELECT tblFacilities.FacilityID,
tblAreas.AreaID,
tblFacilities.DistrictID,
tblFacilities.UnitName,
tblDistricts.DistrictName,
tblAreas.AreaName,
TotalSavings = (SELECT TotalSavings FROM ufn_RainbowTCReductionStrategies(tblFacilities.FacilityID, @FiscalYear))
FROM tblFacilities INNER JOIN tblDistricts ON tblFacilities.DistrictID = tblDistricts.DistrictID
INNER JOIN tblAreas ON tblDistricts.AreaID = tblAreas.AreaID
ich mag * genug wissen, um gefährlich zu sein * :-) Bitte Stellen Sie die Struktur Ihrer Tabelle und einige Beispieldaten zur Verfügung. Die Sachen, nach denen du suchen könntest, sind "GROUP BY" und "SUM" oder "AVG" oder irgendeine andere Aggregatfunktion ... – Shnugo
hast du versucht, GROUP BY ROLLUP zu benutzen? –