Top-Themen

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

gelöst Neues Problem mit SQL Abfrage

Mitglied: datadexx

datadexx (Level 1) - Jetzt verbinden

01.11.2012 um 17:15 Uhr, 2249 Aufrufe, 8 Kommentare

Hi Leutz,

benötige mal wieder hilfe bei einer SQL Abfrage:

Ich habe in der Tabelle rechnung die Felder kd_nummer, rgdatum und netto.

Jetzt möchte ich gerne folgendes Ergebnis haben:

Kundennummer Umsatz Monat Umsatz Jahr
10000 5.119,39 € 15.777,32 €
10001 xxx xxx
10002 xxx xxx

usw.

Wie bekommt man es hin, das ich in einer Abfrage die summe des Feldes netto für den aktuellen Monat und gleichzeitig die Gesamtsumme für das Jahr für die jeweilige Kundennummer erhalte?

Danke für Hilfe!

Mitglied: datadexx
01.11.2012 um 18:06 Uhr
Mein Ansatz sieht so aus, jedoch bekomme ich für Monat und Jahr die Summen aller Kunden und nicht bezogen auf den jeweiligen Kunden.

SELECT KD_NUMMER,
(SELECT SUM(Netto) FROM rechnung WHERE MONTH(RGDatum)=10 AND status !=3 AND GS !=1 ) AS Monat,
(SELECT SUM(Netto) FROM rechnung WHERE YEAR(RGDatum)=2012 AND status !=3 AND GS !=1 ) AS Jahr
FROM rechnung
GROUP BY 1
ORDER BY 1 DESC
Bitte warten ..
Mitglied: LianenSchwinger
01.11.2012 um 20:54 Uhr
Hallo,

in Oracle würde ich das so lösen:
01.
SELECT kd_nummer, 
02.
       SUM(DECODE(EXTRACT(MONTH FROM rgdatum),EXTRACT(MONTH FROM SYSDATE),netto,0)) SumAktMontat, 
03.
       SUM(netto) SumJahr 
04.
FROM rechnung 
05.
WHERE rgdatum >= TRUNC(SYSDATE,'YYYY') 
06.
AND status != 3  
07.
AND gs != 1 
08.
GROUP BY kd_nummer 
09.
ORDER BY kd_nummer
Den DECODE Teil macht nur "wenn Rechnungsmonat = aktueller Monat dann summiere Netto sonst 0.
Wenn ich das richtig sehe kannst Du den Extract(..) durch MONTH(rgdatum) ersetzen.
Mit dem 1. Teil der WHERE-Klausel selektiert nur die Rechnungen des aktuellen Jahres.
Dafür könntest Du auch "YEAR(rgdatum) = YEAR(SYSDATE)" schreiben.

Demnach musst Du nur noch was finden um den DECODE nachzubilden.
01.
SELECT kd_nummer, 
02.
       SUM("wenn" DECODE(MONTH(rgdatum) = MONTH(SYSDATE) "dann" netto "sonst" 0) SumAktMontat, 
03.
       SUM(netto) SumJahr 
04.
FROM rechnung 
05.
WHERE YEAR(rgdatum) = YEAR(SYSDATE) 
06.
AND status != 3  
07.
AND gs != 1 
08.
GROUP BY kd_nummer 
09.
ORDER BY kd_nummer
Gruß Jörg
Bitte warten ..
Mitglied: nxclass
01.11.2012 um 22:33 Uhr
für mysql:
01.
SELECT t.kd_nummer, SUM(m.netto) AS 'month', SUM(y.netto) AS 'year' 
02.
FROM table t 
03.
  JOIN table m ON (t.kd_nummer = m.kd_nummer) 
04.
  JOIN table y ON (t.kd_nummer = y.kd_nummer) 
05.
WHERE 
06.
  ( MONTH(m.rgdatum) = MONTH(NOW()) AND YEAR(m.rgdatum) = YEAR(NOW()) ) AND 
07.
  YEAR(y.rgdatum) = YEAR(NOW()) 
08.
GROUP BY t.kd_nummer
... beachte die joins - 3 mal über die selbe Tabelle
Bitte warten ..
Mitglied: datadexx
01.11.2012 um 23:13 Uhr
Hi Jörg, hi nxclass,

Jörg mit deiner Variante werde ich mich morgen auseinander setzen, da hab ich heute keinen kopf mehr für...

@nxclass

Deinen Code hab ich gerade probiert, da es schnell via copy & paste ging, nur kurz table gegen die richtige table ausgetauscht. Mysql liefert ein leeres resultat???

Danke erst mal für eure hilfe, aber für heut hab ich genug .

Schau morgen wieder rein!

G8
Bitte warten ..
Mitglied: LianenSchwinger
02.11.2012, aktualisiert um 08:44 Uhr
Morgen,

hier meine Variante für MySQL

01.
SELECT kd_nummer,  
02.
       SUM(IF(MONTH(rgdatum) = MONTH(NOW()), netto, 0)) AS SumAktMontat,  
03.
       SUM(netto) AS SumJahr  
04.
FROM rechnung  
05.
WHERE YEAR(rgdatum) = YEAR(NOW())  
06.
AND status != 3   
07.
AND gs != 1  
08.
GROUP BY kd_nummer  
09.
ORDER BY kd_nummer
Gruß Jörg
Bitte warten ..
Mitglied: nxclass
02.11.2012 um 09:31 Uhr
... ja meins geht natürlich nicht - war schon etwas spät gestern.
LianenSchwinger hat die Lösung.
Bitte warten ..
Mitglied: Biber
02.11.2012 um 09:39 Uhr
Moin datatexx,

Zitat von datadexx:
@nxclass

Deinen Code hab ich gerade probiert, da es schnell via copy & paste ging,
nur kurz table gegen die richtige table ausgetauscht.
Mysql liefert ein leeres resultat???
Nicht weiter erstaunlich, da die Zeit unaufhaltsam voranschreitet.
Inzwischen würde bei MONTH(m.rg_datum)=MONTH(NOW()) auf den Monat 11 = November verglichen, und da hast du keine Daten.

Teste mit festen Werten 10 für Oktober (Test Monat) und 2012 für Jahr.

Grüße
Biber
Bitte warten ..
Mitglied: datadexx
02.11.2012 um 11:07 Uhr
Danke Jungs!

Jörg hatte die Lösung!

@Biber, das hatte ich gestern auch gemacht, da 11 ja keine Daten liefern konnte.

Nice WE!!!
Bitte warten ..
Ähnliche Inhalte
C und C++
C Sharp SQL Abfrage Problem
Frage von 115122C und C++3 Kommentare

Hallo, ich möchte in C# eine Verbindung zu einer DB/Tabelle herstellen, eine Abfrage starten und die Ergebnismenge darstellen. Das ...

PHP
Abfrage SQL
gelöst Frage von dudeldoedelPHP3 Kommentare

Hallo zusammen, kann man das in einer SQL Abfrage erreichen ??? Feldwert lautet: {"565":{"textinput":{"comment":"1400"}}} als Ergebnis soll ausgelesen werden ...

Datenbanken

SQL - Abfragen - Mehrere Tabellen - Problem WHERE-Filter

gelöst Frage von Andy1987Datenbanken12 Kommentare

Guten Morgen, ich muss mich derzeit mit SQL-Abfragen rumschlagen, um unsere Inventarisierung etwas Übersichtlicher zu gestallten. Mein Problem ist ...

Datenbanken

Hilfe bei SQL Abfrage

gelöst Frage von e51bomagDatenbanken9 Kommentare

Habe einfach eine Denkblockade und würde mich über Hilfe bei einer Datenbankabfrage freuen. Die Abfrage lautet wie folgt: SELECT ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 23 StundenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...