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

Problem mit Erstellung einer View

Mitglied: SachsenHessi

SachsenHessi (Level 1) - Jetzt verbinden

14.09.2018 um 13:46 Uhr, 583 Aufrufe, 8 Kommentare

Hallo @All,

ich finde für folgendes Problem keine Lösung:
Gegeben ist eine Tabelle mit zwei Spalten ([ObjektID] als Integer, [TermineEVT] als Datetime).
Gesucht werden die letzten zwei [TermineEVT] zu einer [ObjektID] als Spalten (für die Berechnung von Differenzen).
Also rauskommen sollte Etwas in der Form:
[ObjektID] [LetztesDatum] [VorletztesDatum]
folgendes Statement würde das liefern:
01.
	SELECT TOP 1 ObjektID, MAX(EVT) AS LetztesDatum,
02.
                             (SELECT        MAX(EVT) AS MaxVonEVT
03.
                               FROM            dbo.TermineEVT AS i
04.
                               WHERE        (ObjektID = o.ObjektID) AND (EVT < o.EVT)) AS VorletztesDatum
05.
	FROM dbo.TermineEVT AS o
06.
	WHERE objektid = 2121
07.
	GROUP BY ObjektID, EVT
08.
        ORDER BY LetztesDatum DESC
Ergebnis:
t1_2018-09-14_132008 - Klicke auf das Bild, um es zu vergrößern
Leider könnte ich das nur ObjektID für ObjektID erledigen (ginge evtl. über eine UDF).
Ich benötige aber eine View mit allen Objekten.

Mit
01.
	SELECT ObjektID, MAX(EVT) AS LetztesDatum,
02.
                             (SELECT        MAX(EVT) AS MaxVonEVT
03.
                               FROM            dbo.TermineEVT AS i
04.
                               WHERE        (ObjektID = o.ObjektID) AND (EVT < o.EVT)) AS VorletztesDatum
05.
	FROM dbo.TermineEVT AS o
06.
	GROUP BY ObjektID, EVT
07.
       ORDER BY objektID, LetztesDatum DESC
bekomme ich nur:
t2_2018-09-14_132804 - Klicke auf das Bild, um es zu vergrößern
Ich benötige jedoch nur die gelb markierten Zeilen. Also den Datensatz zu jeder ID mit der MAX(LetztesDatum)

Ich kriege es ums verr... nicht gebacken.
Hat jemand von Euch eine Idee ? (Und ja, ich habe Tante google befragt, aber die Frage war wohl falsch gestellt.)
Zielsystem wäre MS-SQL2014.
Vielen Dank im Voraus
Frank
Mitglied: emeriks
14.09.2018 um 15:07 Uhr
Hi,
Leider könnte ich das nur ObjektID für ObjektID erledigen (ginge evtl. über eine UDF).
Versuche mal, zu ersetzen:
Statt
01.
WHERE objektid = 2121
01.
WHERE objektid IN (SELECT DISTINCT ObjektID FROM dbo.TermineEVT)
Bitte warten ..
Mitglied: SachsenHessi
14.09.2018, aktualisiert um 15:32 Uhr
Hallo @emeriks,

hat leider den selben Effekt wie:
01.
	SELECT ObjektID, MAX(EVT) AS LetztesDatum, 
02.
                             (SELECT        MAX(EVT) AS MaxVonEVT 
03.
                               FROM            dbo.TermineEVT AS i 
04.
                               WHERE        (ObjektID = o.ObjektID) AND (EVT < o.EVT)) AS VorletztesDatum 
05.
	FROM dbo.TermineEVT AS o 
06.
	GROUP BY ObjektID, EVT 
07.
        ORDER BY objektID, LetztesDatum DESC
Das ich den gewünschten DS bekomme bei:
01.
	
02.
SELECT TOP 1 ObjektID, MAX(EVT) AS LetztesDatum, 
03.
                             (SELECT        MAX(EVT) AS MaxVonEVT 
04.
                               FROM            dbo.TermineEVT AS i 
05.
                               WHERE        (ObjektID = o.ObjektID) AND (EVT < o.EVT)) AS VorletztesDatum 
06.
	FROM dbo.TermineEVT AS o 
07.
	WHERE objektid = 2121 
08.
	GROUP BY ObjektID, EVT 
09.
        ORDER BY LetztesDatum DESC
liegt ja am TOP 1 . Das mir im Prinzip den gewünschten DS "filtert".
Trotzdem vielen Dank für Deine Mühe.
Frank
Bitte warten ..
Mitglied: emeriks
14.09.2018, aktualisiert um 16:25 Uhr
Möglicherweise so?

01.
SELECT  ObjektID, [EVT] AS LetztesDatum,
02.
                             (SELECT        MAX([EVT]) AS MaxVonEVT
03.
                               FROM            [TermineEVT] AS T3
04.
                               WHERE        (T3.ObjektID = T1.ObjektID) AND (T3.[EVT] < T1.[EVT])) AS VorletztesDatum
05.
	FROM [TermineEVT] AS T1
06.
	WHERE [EVT] IN (SELECT TOP 1 Max(EVT) FROM [TermineEVT] AS T2 WHERE T2.ObjektID = T1.ObjektID)
07.
Edit: Doch, das sollte funktionieren.
Bitte warten ..
Mitglied: SachsenHessi
14.09.2018 um 19:23 Uhr
Danke @emriks,
das werde ich Montag mal testen.
Bis dahin schönes WE.
LH
Frank
Bitte warten ..
Mitglied: SachsenHessi
17.09.2018 um 08:22 Uhr
Hallo @emeriks,

klappt leider auch nicht
t3_2018-09-17_081837 - Klicke auf das Bild, um es zu vergrößern

Da komme ich wohl um eine UDF nicht herum

Trotzdem vielen dank für Deine Mühe
Frank
Bitte warten ..
Mitglied: emeriks
17.09.2018 um 08:44 Uhr
Hm, OK. Schade für Dich.
Ich habe sowas ähnliches auch vor ein paar Monaten gebraucht. Dies hatte ich am Freitag einfach adaptiert. Beim Test an einer ähnlichen Tabelle bei mir funktioniert das so ...
Bitte warten ..
Mitglied: MadMax
24.09.2018 um 16:39 Uhr
Hallo Frank,

bischen spät, ich weiß, aber probier es mal hiermit:
01.
select	ObjektID,
02.
	LetztesDatum,
03.
	(select top (1) EVT from TermineEVT where ObjektID = o.ObjektID and EVT < o.LetztesDatum order by EVT desc) as VorletztesDatum
04.
from	(select	ObjektID,
05.
		max (EVT) as LetztesDatum
06.
	from	TermineEVT
07.
	group by ObjektID) o
Gruß, Mad Max
Bitte warten ..
Mitglied: SachsenHessi
02.10.2018 um 09:30 Uhr
Hallo,

Sorry, bin zur Zeit im Urlaub.
Ich werde es testen, sobald ich es zeitlich schaffe.

Vielen Dank
Frank
Bitte warten ..
Ähnliche Inhalte
Hyper-V
Snapshot Erstellung
Frage von spidernetHyper-V4 Kommentare

Hallo, ich verwende auf einem Server den Hyper-V-Manager zur Virtualisierung, u.a. auch für eine Maschine mit Windows-Server-2008, auf der ...

Vmware
VMware Horizon View Agent
gelöst Frage von frostkriegerVmware6 Kommentare

Hallo, ich habe folgendes Problem: Ich habe auf mehreren VMs verschiedenen Windows Versionen installiert und den VMware View Agent ...

Datenbanken
MYSQL View group by
gelöst Frage von schneerunzelDatenbanken2 Kommentare

Hallo zusammen, ich habe eine Tabelle in einer MySQL DB über die ich eine View legen möchte: Die Tabelle ...

Peripheriegeräte
Barcode Erstellung Problem
Frage von Data61Peripheriegeräte11 Kommentare

Hallo zusammen, hänge bei einen Problem fest, dass sicher eine einfache Lösung haben könnte. Habe mit dem Zebra Designer ...

Neue Wissensbeiträge
Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 16 StundenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Windows 10

Windows 10 - Programme laufen schneller, wenn Sie mit Administratorrechten ausgeführt werden

Erfahrungsbericht von 1Werner1 vor 1 TagWindows 1011 Kommentare

Moin, das wollte ich erst nicht glauben, aber es ist so. Wenn Ihr ein Programm mit Administratorrechten unter Windows ...

Sicherheits-Tools
Putty hat heftige Bugs korrigiert!
Information von Lochkartenstanzer vor 2 TagenSicherheits-Tools8 Kommentare

Moin, Wie man aus herauslesen kann, sind in den Versionen vor 0.71 gravierende Bugs, die es angeraten erscheinen lassen, ...

Off Topic
Sachen die die Welt nicht braucht - Platz 1
Tipp von brammer vor 5 TagenOff Topic21 Kommentare

Hallo, ich habs als Tipp angelegt als Erfahrungsbericht nein Danke brammer

Heiß diskutierte Inhalte
Hardware
Telefonanlagen - Welche gibt es
Frage von Xaero1982Hardware36 Kommentare

Nabend Zusammen, ich suche eine neue TK Anlage und mein Auftraggeber will jetzt was völlig neues - State of ...

Server-Hardware
Kompatibilität Tray für HP Proliant DL385 G10 vs. G8, G9
Frage von chris123Server-Hardware19 Kommentare

Hallo, weiß einer der hier anwesenden, ob die Trays für 2,5 " HDDs zwischen einem DL 385 G10 und ...

Outlook & Mail
Office 365 mit Email-Profil installieren
Frage von Carat2121Outlook & Mail18 Kommentare

Hallo, kurz zu meiner Person: Vor ungefahr 10 Jahren habe ich eine Umschuldung zum Fachinformatiker für Systemintegration gemacht aber ...

LAN, WAN, Wireless
Intel(R) PRO Wireless 3945ABG
gelöst Frage von Leon509LAN, WAN, Wireless15 Kommentare

Hallo, habe ein Laptop Fujitsu (Intel, 4GB, 2GHz, Windos10, Intel(R) PRO/Wireless 3945ABG ) ein O2 DSL Anschluss Home50. Leider ...