Werte auslesen

Hallo,

wie Uwe schon geschrieben hat mit einer Subquery, die dir das Maximum ermittelt, zu dem du dann den Datensatz suchst in der Haupt-Abfrage :

z.B. so (ungetestet):

SQL:
SELECT DISTINCT Reading, Calendar, Clock, SensorID
  FROM Recording
 WHERE (Reading > 0) AND (SensorID = 2) AND
 Clock=(
  SELECT MAX(Clock) 
    FROM Recording   
   WHERE Reading > 0 AND SensorID = 2
       )

Das DISTINCT in der Hauptabfrage deswegen, da es ja trotz gleichem Zeitpunkt, Ablesung und Sensor-ID mehrere gleiche Datensätze geben kann.

Hoffe es hilft,
Markus
 
also das funktioniert super.
aber des ist ned korrekt er sollte die Uhrzeit anders rum einlesen.
also das neueste/akutellste zuerst.
 
Hallo,

er nutzt Access.

Ja also wenn ich es so auslese
SELECT Reading, Calendar, Clock, SensorID
FROM Recording
WHERE (Reading > 0) AND (SensorID = 2)
ORDER BY Calendar DESC, Clock DESC

dann kommt

17,9 11.07.2007 00:00:00 30.12.1899 15:01:30 2
17,9 11.07.2007 00:00:00 30.12.1899 14:51:40 2
17,9 11.07.2007 00:00:00 30.12.1899 14:51:30 2
17,9 11.07.2007 00:00:00 30.12.1899 14:51:20 2
NULL NULL NULL NULL


das hier raus,


jetzt will ich aber das er nur
17,9 11.07.2007 00:00:00 30.12.1899 15:01:30 2

das hier z.b. anzeigt
Dann mach es doch so. "Select Top 1", wie schon im meinem ersten Postig geschrieben.
Hallo,

meinst du mit "nur einen Wert" nur die erste Ergebniszeile?

Dann geht es so:
Code:
SELECT Top 1 Reading, Calendar, Clock, SensorID
FROM Recording
WHERE (Reading>0)
ORDER BY Calendar DESC , Clock DESC;
 
JA genau das meine ich aber so wie du es geschrieben hast funtioniert es auch nicht?

ich weiß auch nicht an was das es liegt oder was falsch ist?
ich habe den Text so wie du ihn geschrieben hast eingefügt und er meckert wieder rum.


mfg Roman
 
Hallo,

also, in Access 2003 funktioniert "Select Top 1", das hab ich getestet.

Es sollte schon ab Access 2.0 gehen.
 

Neue Beiträge

Zurück