Nabend zusammen,
ich habe eine kleine Frage zu meiner SQL-Abfrage. Es geht um die Protkolierung von verschiedenen Geräten an Hand derer HttpRequests.
Kurz zum Aufbau meiner Datenbank:
Location Tabelle - Primary Key: Location_UID, zweite Spalte: Location_Name
Devices Tabelle - Primary Key: Devices_UID, zweite Spalte: Device_Name, dritte Spalte: Location_UID Foreign Key mit Bezug auf den PK der Location Tabelle
StatusLog Tabelle - PK ID, automatisch gesetzt und erhöht sich immer um 1, zweite Spalte: Devices_UID dritte Spalte: CurrentFileName Wert wird hier aus dem HttpReq. gelesen,
vierte Spalte: LastAccess wird standardmäßig mit getdatetime() gesetzt beim Insert in die Tabelle
Nun möcht ich einen SQL-Befehl entwickeln, mit dem ich von jedem Device die passende Location und die Infos aus der StatusLog Tabelle angezeigt bekomme. Jedoch möchte ich nur den aktuelltste Spalte angezeigt bekommen.
Ein Kollege - der lange Zeit nun krank ist - hat mir folg. Befehl erstellt:
SELECT TOP (100) lg.Devices_UID, dv.Device_Name, dv.Location_UID, loc.Location_Name, lg.FileName, lg.CreationTime AS LastConnect
FROM dbo.Devices AS dv INNER JOIN
dbo.Locations AS loc ON dv.Location_UID = loc.Location_UID INNER JOIN
dbo.Log AS lg ON dv.Devices_UID = lg.Devices_UID
WHERE (lg.CreationTime = (SELECT MAX(CreationTime) AS Expr1
FROM dbo.Log AS l
WHERE (dv.Devices_UID = lg.Devices_UID)))
Jedoch funktioniert dieser bei mir nicht mehr? Findet ihr einen Fehler?
Danke!!