Select MAX() Null
Barbara
- datenbank
0 Axel Richter0 Barbara0 Axel Richter0 barbara
Hallo,
ich hoffe ihr könnt mir helfen... Hab da eine mysql query, die das Maximale Datum ermittelt:
SELECT MAX(MP3Date)
FROM MP03THistory as history
WHERE MP3RID IN (SELECT t.MP1RID
FROM MP02Step as s
JOIN MP01Task as t USING (MP2RID)
WHERE s.MP0RID ="43629A33EB1F4D9B983A9500D49D56A9"
);
Falls der Step keine Tasks hat, sollte das MAX(MP3Date) null sein.... doch es wird immer 1 record zurückgegeben.... und ich weiss nicht warum...... kann mir jemand helfen?
Danke
Hallo,
ich hoffe ihr könnt mir helfen... Hab da eine mysql query, die das Maximale Datum ermittelt:
SELECT MAX(MP3Date)
FROM MP03THistory as history
WHERE MP3RID IN (SELECT t.MP1RID
FROM MP02Step as s
JOIN MP01Task as t USING (MP2RID)
WHERE s.MP0RID ="43629A33EB1F4D9B983A9500D49D56A9"
);Falls der Step keine Tasks hat, sollte das MAX(MP3Date) null sein.... doch es wird immer 1 record zurückgegeben
Mit welchem Wert für MAX(MP3Date)?
Kann es sein, dass es in der Tabelle MP03THistory einen oder mehrere Datensätze gibt, in denen ein Wert in MP3Date und NULL in MP3RID steht?
SELECT MP3Date, MP3RID FROM MP03THistory WHERE MP3RID IS NULL;
MP3Date MP3RID
yyyy-mm-dd NULL
yyyy-mm-dd NULL
viele Grüße
Axel
hallo,
Kann es sein, dass es in der Tabelle MP03THistory einen oder mehrere Datensätze gibt, in denen ein Wert in MP3Date und NULL in MP3RID steht?
Nein, kann nicht sein, denn MP3RID ist der primary key der tabelle MP03THistory...
SELECT MP3Date, MP3RID FROM MP03THistory WHERE MP3RID IS NULL;
--> weil mp3RID primary ergibt diese query richtigerweise 0 records
aber es kann sein, dass ein task gar keinen eintrag im MP03THistory (für Task History) hat....
hoffe du kannst mir weiterhelfen
barbara
Hallo,
Falls der Step keine Tasks hat, sollte das MAX(MP3Date) null sein.... doch es wird immer 1 record zurückgegeben
Mit welchem Wert für MAX(MP3Date)?
Beantwortest Du meine erste Frage auch noch?
viele Grüße
Axel
Hallo Axel,
Mit welchem Wert für MAX(MP3Date)?
Beantwortest Du meine erste Frage auch noch?
ah so... sorry ;) logo:
NULL wird zurückgegeben
+--------------+
| MAX(MP3DATE) |
+--------------+
| NULL |
+--------------+
1 row in set (0.00 sec)
Hi,
+--------------+
| MAX(MP3DATE) |
+--------------+
| NULL |
+--------------+
1 row in set (0.00 sec)
MAX ist eine Aggregatfunktion und diese geben einen Datensatz zurueck. Was soll daran nicht cool sein?
Gruss,
Ludger
yo,
MAX ist eine Aggregatfunktion und diese geben einen Datensatz zurueck. Was soll daran nicht cool sein?
vielleicht noch zur ergänzung, eine funktion gibt immer genau einen wert zurück (nicht datensatz), auch wenn die funktion auf eine leere tabelle ausgeführt werden würde.
Ilja
danke an alle,
war ein anderer Fehler, nicht die Query.....
und MAX funktioniert wunderbar
Barbara
Hi,
war ein anderer Fehler, nicht die Query.....
und MAX funktioniert wunderbar
dann frage ich mich ernsthaft um was es ueberhaupt ging. ;-)
Gruss,
Ludger