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, 694 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
Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 - Jetzt in Deutsch verfügbar! (Windows 10 1903 Support)

Tipp von TrinXx vor 21 StundenSicherheits-Tools1 Kommentar

Moin! Nach wochenlangem Warten wird Trend Micro das SP1 für WFBS 10 voraussichtlich am 26.08.19 veröffentlichen. Ich habe das ...

Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 2 TagenHyper-V4 Kommentare

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 2 TagenServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Humor (lol)

"Linux und 5 Gründe Warum man kein Windows verwenden sollte sondern Ubuntu Linux"

Information von Snowbird vor 4 TagenHumor (lol)9 Kommentare

Gerade gefunden. Ja, ist etwas älter, aber irgendwie lustig?

Heiß diskutierte Inhalte
Audio
SIP Gegensprechstelle Funk
Frage von d4vidh4ll3rAudio11 Kommentare

Hallo! Ich benötige eine alternative zur doorLine TM4 ), sprich eine SIP Gegenstelle die ich unter eine Aluminium-Platte schrauben ...

Backup
Veeam Backup Endpoint Free sichert nicht alle Dateien in AppData
gelöst Frage von speedy26gonzalesBackup10 Kommentare

Hallo, ich sollte ein paar Dateien in C:\Users\xyc\AppData\Local\Microsoft\Outlook wieder herstellen. Auf dem Benutzerkonto ist in Outlook ein IMAP Konto ...

Windows 10
Windows 10 Backup auf Netzwerk Storage
Frage von Futschel2608Windows 1010 Kommentare

Hallo geehrte Mitstreiter Innen, Wir wollen in unserer Windows 10 Domäne den Einzelnen Usern ermöglichen ihre Desktop PC's zusichern. ...

Batch & Shell
Mittels SED Text ersetzen in Anführungszeichen
gelöst Frage von nekronBatch & Shell9 Kommentare

Moin … bin nicht wirklich der SED/regex Mensch, vielleicht kann mir jemand auf die Schnelle Helfen :) ich habe ...