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

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] SQL Befehl für einen datensatz mit kleineren Pk

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

von juergen_w1987 » Do, 08.09.2011 10:42

Danke dir vielmals funktioniert einwandfrei.
danke nochmals

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

von DPunch » Mi, 07.09.2011 19:41

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

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

von juergen_w1987 » Di, 06.09.2011 19:37

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

Nach oben