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
GELÖST

Denksport Ermittlung von Differenzen mit SQL Abfragen

Frage Entwicklung Datenbanken

Mitglied: problemsolver

problemsolver (Level 2) - Jetzt verbinden

02.02.2011 um 12:07 Uhr, 5003 Aufrufe, 3 Kommentare

In einer Tabelle werden die Zählerstände von Druckern zu einem bestimmten Datum und ihrer Seriennummer erfasst. Zusätzlich auch noch der Zählerstandstyp (Farbe, Monochrom, gescannte Seiten). Durch welche Abfrage(n) kann man einen Verbrauch der jeweiligen Drucker in einem bestimmten Zeitraum sichtbar machen.

Hallo zusammen,

zu dem obigen Vorwort noch folgende Detailinformationen:

Die Tabelle hat die Felder
01.
Seriennummer (Des Gerätes) 
02.
Zaehlerstand_Datum (Datum des abgelesenen Zählerstandes) 
03.
Zaehlerstand (absoluter Zählerstandswert) 
04.
Zaehlerbezeichnung (M,F,S)
Egal wie ich es in Access drehe und wende, ich erhalte keine sinnvollen Ergebnisse , wenn ich mit Min, Max, First oder Last bei Datumsangaben arbeite. Ich habe einen Denkfehler, bei dem ich schon seit Tagen hänge und ihr seid meine letzte Hoffnung.

Folgende gedankliche Vorgehensweise hatte ich bisher:
1. Filtern des Zählerstandstyps (m,f oder s für monochrom, farbe oder geScannte Seiten) zusammen mit der Seriennummer
2. Begrenzen dieser Ausgabe auf einen bestimmten Datumsbereich:Zaehlerstand_Datum >= [Anfangsdatum] und <= [Enddatum]
3. Ermitteln des Zählerstandes abhängig von der Seriennummer zu dem MAXDATUM in dem Datumsbereich und zu dem MINDATUM in dem Datumsbereich
4. Ermitteln der Differenz zwischen MAXDATUM und MINDATUM

Mit ist bewusst, dass es ein Leichtes wäre eine Funktionin VB zu programmieren, aber ich möchte es partout als Abfrage mit den gegebenen Funktionen des DBMS realisieren.

Viel Spaß beim Lösen dieser Aufgabe
Ich bin gerne bereit so 3,33€ per PayPal an den Ersten zu zahlen, der es löst sofern euch das anspornt ;-D

Gruß

Markus
Mitglied: MadMax
02.02.2011 um 13:22 Uhr
Hallo Markus,

weil Du es als Denksportaufgabe deklariert hast und ohne konkretes DBMS, habe ich hier mal eine Lösung für den SQL Server. Dabei gehe ich davon aus, daß auch eine eindeutige ID in der Tabelle ist.
01.
select	d.Seriennummer, d.Zaehlerbezeichnung, s.Zaehlerstand as Zaehlerstand_Start, e.Zaehlerstand as Zaehlerstand_Ende, e.Zaehlerstand - s.Zaehlerstand as Verbrauch 
02.
from	(select distinct Seriennummer, Zaehlerbezeichnung from Druckertabelle) d 
03.
	join Druckertabelle s on s.ID = (select top (1) ID from Druckertabelle where Seriennummer = d.Seriennummer and Zaehlerbezeichnung = d.Zaehlerbezeichnung and Zaehlerstand_Datum >= <STARTDATUM> order by Zaehlerstand_Datum) 
04.
	join Druckertabelle e on e.ID = (select top (1) ID from Druckertabelle where Seriennummer = d.Seriennummer and Zaehlerbezeichnung = d.Zaehlerbezeichnung and Zaehlerstand_Datum <= <ENDDATUM> order by Zaehlerstand_Datum desc)
Gruß, Mad Max
Bitte warten ..
Mitglied: problemsolver
02.02.2011 um 14:17 Uhr
Hallo Mad Max,

Vielen Dank für deine Lösung un du hast Recht: Es ist eine Denksportaufgabe, da eigentlich das DBMS keine Rolle spielt.
Falls Du es trotzdem zur Hand hast: Ich würde gerne die Lösung für ACCESS wissen.

Davon ab hast Du natürlich mit deiner Lösung recht, so wie ich das beurteilen kann... Schick mir bitte per PN deine paypal Adresse, damit ich dir das versprochene Geld zukommen lassen kann. Kannst ja im Kommentar antworten, wenn Du es erhalten hast. Ich halte mein Wort...

Gruß

Markus
Bitte warten ..
Mitglied: MadMax
02.02.2011 um 14:42 Uhr
Hai Markus,

Access hab ich hier leider nicht zur Verfügung, erst am Montag wieder, aber ich meine, das SQL in Access ist ziemlich an das vom SQL Server angelehnt. Dementsprechend könnte das auch in Access klappen. Jedenfalls fällt mir nichts auf, was Access nicht auch schlucken sollte.

Zu den 3,33€: Da ich kein Paypal besitze, spende es doch an die Organisation bedürftiger SQL-Programmierer. Oder dem Wirt Deiner Stammkneipe, vielleicht gibt er Dir ja noch ein kleines Bierchen dafür ;)

Gruß, Mad Max
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst MS SQL Abfragen und Formulare in Webseite einbinden (3)

Frage von Machello zum Thema Datenbanken ...

Datenbanken
SQL - Abfragen Nachfrage (2)

Frage von PronMaster zum Thema Datenbanken ...

Datenbanken
SQL und C-Sharp - Grid und einfache Bearbeitungsmaske (3)

Frage von Archimedes zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Dateien sortieren, kombinieren und filtern (6)

Frage von derapfelsaft zum Thema Datenbanken ...

Neue Wissensbeiträge
Windows 10

Plattformdienst für unbekannte Geräte (7023)

Tipp von KMUlife zum Thema Windows 10 ...

Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server Komplettspiegelung (13)

Frage von pdiddo zum Thema Windows Server ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...