[gelöst] SQL Befehl für einen datensatz mit kleineren Pk

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

juergen_w1987
**
Beiträge: 48
Registriert: Fr, 04.02.2011 09:31

[gelöst] SQL Befehl für einen datensatz mit kleineren Pk

Beitrag von juergen_w1987 »

Hallo Leute,

habe eine super große Abfrage und es scheitert an einem einfachen Punkt.
Tabelle Prüfdaten: Pk, TimeStamp, Gerätenummer(Fremdschlüssel)...
Tabelle Geräte: Gerätenummer (Primkey),.......
Ich will von der Prüfung eines Gerätes den aktuellen TimeStamp und den TimeStamp der vorherigen Prüfung (von dem Gerät) haben. Damit man sieht wann die letzte Prüfung dieses Geräts durchgeführt wurde

codeteile

Code: Alles auswählen

SELECT  "Prüfdaten"."TimeStamp", "Prüfdaten2"."TimeStamp", ....
FROM "Prüfdaten" AS "Prüfdaten", "Prüfdaten" AS "Prüfdaten2",......
WHERE "Prüfdaten2"."Gerätenummer"= "Prüfdaten"."Gerätenummer" AND  "Prüfdaten"."Pk">"Prüfdaten2"."Pk" AND "Prüfdaten"."CheckPk" =1 AND.....
CheckPk=1 ist für die auswahl nach welcher Prüfung abgefragt wird.
Nur Ich bekomm immer alle älteren Timestamps eines Gerätes. will aber nur den TimeStamp vor der ausgewählten Prüfung. Wie mach ich das???

mfg und danke

jürgen
Zuletzt geändert von juergen_w1987 am Do, 08.09.2011 10:39, insgesamt 1-mal geändert.
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: suche SQL Befehl für einen datensatz mit kleineren Pk

Beitrag von DPunch »

Aloha
juergen_w1987 hat geschrieben:Wie mach ich das???
Das Stichwort dazu ist "Korrelierte Unterabfrage".
In Deinem Fall dürfte das ungefähr so aussehen: (evtl Häkchen bei "SQL-Kommando direkt ausführen" setzen)

Code: Alles auswählen

SELECT
	"Prüfdaten"."TimeStamp",
	(SELECT "a"."TimeStamp" FROM "Prüfdaten" AS "a" WHERE "a"."Gerätenummer" = "Prüfdaten"."Gerätenummer" 
		AND "a"."TimeStamp" < "Prüfdaten"."TimeStamp" ORDER BY "a"."TimeStamp" DESC LIMIT 1)
		AS "VorherigePrüfung"
FROM
	"Prüfdaten" AS "Prüfdaten"
WHERE
	"Prüfdaten"."CheckPk" =1
juergen_w1987
**
Beiträge: 48
Registriert: Fr, 04.02.2011 09:31

Re: [gelöst] SQL Befehl für einen datensatz mit kleineren Pk

Beitrag von juergen_w1987 »

Danke dir vielmals funktioniert einwandfrei.
danke nochmals
Antworten