Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 4228 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
Windows Netzwerk
Interaktive Verknüpfung erstellen (3)

Frage von Frager84858485 zum Thema Windows Netzwerk ...

Datenbanken
gelöst Verschachtelte SQL-Abfrage (4)

Frage von User1000 zum Thema Datenbanken ...

Batch & Shell
gelöst Erstellen von Verknüpfungen mithilfe einer Variablen (3)

Frage von ciNNEx zum Thema Batch & Shell ...

Windows 7
gelöst Verknüpfung nicht mit Standardbrowser öffnen (3)

Frage von Thor01 zum Thema Windows 7 ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...