Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Aggregatfunktion SUM und Verknüpfung mittels SQL

Frage Entwicklung Datenbanken

Mitglied: etnobommel1989

etnobommel1989 (Level 1) - Jetzt verbinden

04.03.2010, aktualisiert 15:04 Uhr, 4214 Aufrufe, 1 Kommentar

Ausgangssituation: 3 Tabellen: Kostenstelle, Januar, Februar in den Tabellen Januar und Februar sind einzelne Rechnungsbeträge mit zugehöriger Kostenstelle. In der Tabelle Kostenstelle sind alle möglichen Kostenstellen aufgelistet.

Nun will ich die einezelnen Rechnungsbeträge gruppieren nach der Kostenstelle und von den einzelnen Gruppen die Summe bilden, habs auch schon versucht geht abbba nich.


Vielen Dank für Antworten


Mein aktueller Quelltext wo utopische Werte heraus kommen!!!

SELECT Kostenstelle.Kostenstelle, Sum(Januar_2010.Anteil_Euro) AS [Summe von Anteil_Euro], Sum(Februar_2010.Anteil_Euro) AS [Summe von Anteil_Euro1], Sum(Maerz_2010.Anteil_Euro) AS [Summe von Anteil_Euro2]
FROM ((Kostenstelle INNER JOIN Januar_2010 ON Kostenstelle.Kostenstelle = Januar_2010.Kostenstelle) INNER JOIN Februar_2010 ON Kostenstelle.Kostenstelle = Februar_2010.Kostenstelle) INNER JOIN Maerz_2010 ON Kostenstelle.Kostenstelle = Maerz_2010.Kostenstelle
GROUP BY Kostenstelle.Kostenstelle;
Mitglied: 741852
05.03.2010 um 07:52 Uhr
Hallo,
ich denke mal die Aufteilung der Beträge auf einzelne Tabellen je Monat ist etwas unglücklich. Besser wäre es, wenn sich alle Rechnungsbeträge in einer Tabelle befinden würden mit einem Feld für das Datum bzw. das Monat, dann wäre es einfacher zu lösen. Aber wahrscheinlich kannst da nichts dran ändern.
Ich versteh auch eins noch nicht genau: wenn in Kostenstelle.Kostenstelle das gleiche wie in den Detailtabellen drinsteht, dann könnte man sich den Join ja eigentlich sparen.
Welches DBS verwendest du denn?

Ich würds mal so in der Art versuchen (Syntax musst evtl. anpassen ist, je nach DBS):

Die Tabellen einzeln abfragen und mit "UNION" verknüpfen (werden dadurch aneinandergereiht).So bekommst du die Kostenstellen je Monat gelistet. Für weitere Auswertungen das Ergebnis in eine Temporäre Tabelle schreiben, danach die Temporäre Tabelle nach belieben auswerten.

SELECT Kostenstelle.Kostenstelle,"Januar" as Monat, Sum(Januar_2010.Anteil_Euro) AS [Summe von Anteil_Euro]
WHERE Januar_2010.Kostenstelle=Kostenstelle.Kostenstelle
GROUP BY 1,2
UNION
SELECT Kostenstelle.Kostenstelle,"Februar"as Monat, Sum(Februar_2010.Anteil_Euro) AS [Summe von Anteil_Euro]
WHERE Februar_2010.Kostenstelle=Kostenstelle.Kostenstelle
GROUP BY 1,2
UNION
........ ;
Auch würde ich mal überprüfen, ob die Kostenstellen in den Monatstabellen mit den Kostenstellen in der Kostenstellentabelle übereinstimmen, oder ob es hier Inkonsistenzen gibt.
In etwa so (evtl. Syntax an DBS anpassen): SELECT Januar_2010.Kostenstelle FROM Januar_2010 WHERE Januar_2010.Kostenstelle not in (SELECT Kostenstelle.Kostenstelle FROM Kostenstelle) OR Januar_2010.Kostenstelle is null;

Viel Glück
Bitte warten ..
Ähnliche Inhalte
Datenbanken
SUM oder AVG in SQL Abfrage dauert viel zu lange warum? (5)

Frage von samet22 zum Thema Datenbanken ...

Datenbanken
SQL Auswertung 2 Joins und SUM

Frage von c64b311ee9 zum Thema Datenbanken ...

Windows Netzwerk
Interaktive Verknüpfung erstellen (3)

Frage von Frager84858485 zum Thema Windows Netzwerk ...

Google Android
gelöst Chrome: Lesezeichen als Verknüpfungen auf Startseite - wie? (4)

Frage von honeybee zum Thema Google Android ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (19)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (18)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
gelöst DNS ins mehreren Subnetzen (15)

Frage von joerg zum Thema Windows Netzwerk ...