Hallo an alle,
ist es möglich, eine bestimmte Anzahl von Einträgen aus einer Tabelle zu löschen, die möglichst nahe an einem bestimmten Datum sein sollen?
Habe hier folgende Tabelle:
LID(PK)..|...Artikel(FK)...|...VerfuegbarAb
.....1......|..........1..........|....2011-05-25
.....2......|..........1..........|....2011-05-25
.....3......|..........1..........|....2011-05-25
.....4......|..........1..........|....2011-05-29
.....5......|..........1..........|....2011-05-29
Es handelt sich also immer um den selben Artikel "1".
Ich möchte nun bspw. genau zwei Einträge löschen, die vor dem 2011-05-30 verfügbar sind. Es kommen ja eig alle 5 Einträge in Frage. Bekomme ich es irgendwie gebacken, dass er mir die zwei Einträge löscht, die am nähsten von dem gewünschten Datum liegen, also die beiden vom 29.05.?
Und kann ich überhaupt die Anzahl festlegen, die gelöscht werden soll?
Wenn alles nicht geht, wie könnte ich es am besten anstellen, um das gewünschte Ergebnis zu erhalten?
Normalerweise gibt man ja Beschränkungen über einen where-clause ein, das funktioniert in dem Fall für mich aber nicht wie gewünscht, da das Programm später nur den Artikel, das Datum und die Anzahl kennt, aber nicht die LID.
Ich stell mir sowas vor wie DELETE <<AnzahlEinträge>> FROM <<Tabelle>> WHERE Artikel = 1 AND VerfuegbarAb <= <<ÜbergebenesDatum>> wobei er mir eben die Einträge löschen soll, die am nähsten vom übergebenen Datum liegen. Funktioniert natürlich nicht, da es nur DELETE FROM heißen kann.
Gruß
ist es möglich, eine bestimmte Anzahl von Einträgen aus einer Tabelle zu löschen, die möglichst nahe an einem bestimmten Datum sein sollen?
Habe hier folgende Tabelle:
LID(PK)..|...Artikel(FK)...|...VerfuegbarAb
.....1......|..........1..........|....2011-05-25
.....2......|..........1..........|....2011-05-25
.....3......|..........1..........|....2011-05-25
.....4......|..........1..........|....2011-05-29
.....5......|..........1..........|....2011-05-29
Es handelt sich also immer um den selben Artikel "1".
Ich möchte nun bspw. genau zwei Einträge löschen, die vor dem 2011-05-30 verfügbar sind. Es kommen ja eig alle 5 Einträge in Frage. Bekomme ich es irgendwie gebacken, dass er mir die zwei Einträge löscht, die am nähsten von dem gewünschten Datum liegen, also die beiden vom 29.05.?
Und kann ich überhaupt die Anzahl festlegen, die gelöscht werden soll?
Wenn alles nicht geht, wie könnte ich es am besten anstellen, um das gewünschte Ergebnis zu erhalten?
Normalerweise gibt man ja Beschränkungen über einen where-clause ein, das funktioniert in dem Fall für mich aber nicht wie gewünscht, da das Programm später nur den Artikel, das Datum und die Anzahl kennt, aber nicht die LID.
Ich stell mir sowas vor wie DELETE <<AnzahlEinträge>> FROM <<Tabelle>> WHERE Artikel = 1 AND VerfuegbarAb <= <<ÜbergebenesDatum>> wobei er mir eben die Einträge löschen soll, die am nähsten vom übergebenen Datum liegen. Funktioniert natürlich nicht, da es nur DELETE FROM heißen kann.
Gruß
Zuletzt bearbeitet: