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, 4221 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 ...

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 ...

Neue Wissensbeiträge
Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(6)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows 10
Netzwerkkarte schaltet sich erst nach dem Logon ein (23)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (18)

Frage von Yaimael zum Thema Windows Server ...

Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (16)

Frage von Spitzbube zum Thema Netzwerke ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...