🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Datensätze abfragen, die älter als $INTERVALL sind
-
- Beiträge: 131
- Registriert: Do 25. Apr 2013, 17:27
Datensätze abfragen, die älter als $INTERVALL sind
Hi!
Ich setze bei jeder Änderung eines Datensatzes einen neuen Timestamp in das Feld "Timestamp".
Wenn ich dann die Datenbank abfrage, möchte ich nur Datensätze ausgegeben haben, die älter als $INTERVALL also z.B. 2 Stunden sind.
Ich bin leider nicht so gut in SQL und hab keine Ahnung, wie ich das realisieren soll...
SELECT * FROM "Tabelle" WHERE "Timestamp" > now() - 2 HOURS
so in etwa hab ich mir das vorgestellt. Aber ich komm nicht zur Lösung... Eines hab ich rausgefunden: So geht es nicht.
Wie kann ich so eine Abfrage richtig machen?
lg scientific
Ich setze bei jeder Änderung eines Datensatzes einen neuen Timestamp in das Feld "Timestamp".
Wenn ich dann die Datenbank abfrage, möchte ich nur Datensätze ausgegeben haben, die älter als $INTERVALL also z.B. 2 Stunden sind.
Ich bin leider nicht so gut in SQL und hab keine Ahnung, wie ich das realisieren soll...
SELECT * FROM "Tabelle" WHERE "Timestamp" > now() - 2 HOURS
so in etwa hab ich mir das vorgestellt. Aber ich komm nicht zur Lösung... Eines hab ich rausgefunden: So geht es nicht.
Wie kann ich so eine Abfrage richtig machen?
lg scientific
Re: Datensätze abfragen, die älter als $INTERVALL sind
Moin,
das geht z.B so
für Minuten, sonst gibt es noch:
Gruß R
das geht z.B so
Code: Alles auswählen
SELECT * FROM "Tabelle" where DATEDIFF('mi',"Timestamp",CURRENT_TIMESTAMP) > 120
Code: Alles auswählen
'yy' -> Jahre
'mm' -> Monate
'dd' -> Tage
'hh' -> Stunden
'mi' -> Minuten
'ss' -> Sekunden
'ms' -> Millisekunden
Windows 11: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 131
- Registriert: Do 25. Apr 2013, 17:27
Re: Datensätze abfragen, die älter als $INTERVALL sind
vielen Danke!!!
lg scientific
lg scientific
-
- Beiträge: 131
- Registriert: Do 25. Apr 2013, 17:27
Re: Datensätze abfragen, die älter als $INTERVALL sind
Und dann noch eine Frage... irgendwie finde ich dazu auch nix brauchbares...
Wie schreibe ich geschachtelte bzw. logisch verknüpfte Abfragen in SQL?
SELECT * FROM "Tabelle1"
WHERE "Abschlussgrund" = 'WV' AND
"Wiedervorlage" < NOW( )
OR ("Abschlussgrund" = 'NE' AND DATEDIFF( 'mi', "Timestamp", CURRENT_TIMESTAMP ) > 120 )
OR "Abschlussgrund" IS NULL
OR "Abschlussgrund" LIKE ''
ORDER BY "Abschlussgrund" DESC, "Wiedervorlage" ASC
So funktioniert das nicht.
Ich würde gerne alle Datensätze mit "Abschlussgrund" = 'NE' ausgeben, welche aber älter als 2 Stunden sind. Ebenso alle die ein leeres Feld "Abschlussgrund" und jene die "WV" als Abschlussgrund haben...
wie mache ich das richtig?
lg scientific
Wie schreibe ich geschachtelte bzw. logisch verknüpfte Abfragen in SQL?
SELECT * FROM "Tabelle1"
WHERE "Abschlussgrund" = 'WV' AND
"Wiedervorlage" < NOW( )
OR ("Abschlussgrund" = 'NE' AND DATEDIFF( 'mi', "Timestamp", CURRENT_TIMESTAMP ) > 120 )
OR "Abschlussgrund" IS NULL
OR "Abschlussgrund" LIKE ''
ORDER BY "Abschlussgrund" DESC, "Wiedervorlage" ASC
So funktioniert das nicht.
Ich würde gerne alle Datensätze mit "Abschlussgrund" = 'NE' ausgeben, welche aber älter als 2 Stunden sind. Ebenso alle die ein leeres Feld "Abschlussgrund" und jene die "WV" als Abschlussgrund haben...
wie mache ich das richtig?
lg scientific
Re: Datensätze abfragen, die älter als $INTERVALL sind
Hallo scientific,
Das bildet jetzt Deine Anforderungen ab. Was Dabei "Abschlussgrund" Like " soll bleibt mir schleierhaft. "Wiedervorlage" < NOW() hast Du auch nicht in Deinen Forderungen aufgelistet. Soll das nur für 'WV' gelten oder soll das für alle Teilbereiche gelten? Je nachdem musst Du die Bedingungen in Klammern zusammenfassen.
Vielleicht solltest Du wirklich einmal das Base-Handbuch zu Hilfe nehmen: http://de.libreoffice.org/hilfe-kontakt/handbuecher/ - etwas nach unten scrollen.
Gruß
Robert
scientific hat geschrieben: Wie schreibe ich geschachtelte bzw. logisch verknüpfte Abfragen in SQL?So funktioniert das nicht.Code: Alles auswählen
SELECT * FROM "Tabelle1" WHERE "Abschlussgrund" = 'WV' AND "Wiedervorlage" < NOW( ) OR ("Abschlussgrund" = 'NE' AND DATEDIFF( 'mi', "Timestamp", CURRENT_TIMESTAMP ) > 120 ) OR "Abschlussgrund" IS NULL OR "Abschlussgrund" LIKE '' ORDER BY "Abschlussgrund" DESC, "Wiedervorlage" ASC
Ich würde gerne alle Datensätze mit "Abschlussgrund" = 'NE' ausgeben, welche aber älter als 2 Stunden sind.
Code: Alles auswählen
SELECT * FROM "Tabelle1"
WHERE ("Abschlussgrund" = 'NE' AND DATEDIFF( 'mi', "Timestamp", CURRENT_TIMESTAMP ) > 120 )
ORDER BY "Abschlussgrund" DESC, "Wiedervorlage" ASC
scientific hat geschrieben: Ebenso alle die ein leeres Feld "Abschlussgrund"
Code: Alles auswählen
SELECT * FROM "Tabelle1"
WHERE ("Abschlussgrund" = 'NE' AND DATEDIFF( 'mi', "Timestamp", CURRENT_TIMESTAMP ) > 120 )
OR "Abschlussgrund" IS NULL
ORDER BY "Abschlussgrund" DESC, "Wiedervorlage" ASC
scientific hat geschrieben: und jene die "WV" als Abschlussgrund haben...
Code: Alles auswählen
SELECT * FROM "Tabelle1"
WHERE "Abschlussgrund" = 'WV'
OR ("Abschlussgrund" = 'NE' AND DATEDIFF( 'mi', "Timestamp", CURRENT_TIMESTAMP ) > 120 )
OR "Abschlussgrund" IS NULL
ORDER BY "Abschlussgrund" DESC, "Wiedervorlage" ASC
Vielleicht solltest Du wirklich einmal das Base-Handbuch zu Hilfe nehmen: http://de.libreoffice.org/hilfe-kontakt/handbuecher/ - etwas nach unten scrollen.
Gruß
Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.