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, 4871 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Datenbanken
2 SQL Abfragen verbinden

Frage von cuxmini zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
gelöst SQL-Server Datenbanksicherung inkl. Benutzerberechtigungen dafür? (4)

Frage von 1410640014 zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...