AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken bestimmte Termine aus Datenbank abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

bestimmte Termine aus Datenbank abfragen

Ein Thema von zappel · begonnen am 19. Okt 2005 · letzter Beitrag vom 20. Okt 2005
Antwort Antwort
zappel

Registriert seit: 30. Jan 2004
65 Beiträge
 
Delphi 2005 Personal
 
#1

bestimmte Termine aus Datenbank abfragen

  Alt 19. Okt 2005, 17:14
Datenbank: MySQL • Zugriff über: PHP
Hallo!

Ich habe eine Tabelle in einer MySQL-Datenbank, in der Termine gespeichert sind. Neben dem Datum im date-Format ist eine Beschreibung und der Typ der Termins als int gespeichert. Typ 0 ist ein normaler Termin, 1 ein Geburtstag usw.

Ich möchte nun aus meiner Datenbank die 5 nächsten Termine in der Zukunft abfragen. Eigentlich ganz simpel mit "... WHERE datum >= heute LIMIT 5". Bei Terminen vom Typ Geburtstag spielt das Jahr allerdings keine Rolle, da der Geburtstag jedes Jahr wieder auftritt. Und deshalb weiß ich auch nicht genau, wie ich die Abfrage gestalten soll?
  Mit Zitat antworten Zitat
robroy85

Registriert seit: 6. Nov 2004
Ort: Norderstedt
42 Beiträge
 
#2

Re: komplizierte Datenbankabfrage

  Alt 19. Okt 2005, 18:03
Guck mal hier
DATE_FORMAT

Mit der Funktion DATE_FORMAT kannst du Monat und Tag auslesen


also zB so ...WHERE DATE_FORMAT( geb_DATE, '%d%m') <= DATE_FORMAT( HEUTE, '%d%m') LIMIT 5

kann das leider hier nicht testen, da ich kein MYSQL habe
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: komplizierte Datenbankabfrage

  Alt 19. Okt 2005, 18:06
Hai zappel,

ändere doch bitte den Titel deiner Frage. Unter "komplizierte Datenbankabfrage" kann man sich in der Übersicht nicht viel vorstellen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
zappel

Registriert seit: 30. Jan 2004
65 Beiträge
 
Delphi 2005 Personal
 
#4

Re: bestimmte Termine aus Datenbank abfragen

  Alt 19. Okt 2005, 18:17
Naja, der Titel ist auch nicht viel besser. Meine Frage kann man nicht gut betitlen. Der alte Titel hat wenigstens aufmerksam gemacht, oder?

Wie ich mit DATE_FORMAT und Co arbeite, weiß ich. Es geht mir also nicht um Hilfe für den Code. Ich habe nur absolut keine Ahnung, wie ich den "Algorithmus" zusammenbasteln muss.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: bestimmte Termine aus Datenbank abfragen

  Alt 19. Okt 2005, 19:07
folgende SQL-Abfrage liefert max. 5 Termin PLUS einen Geburtstag (falls gespeichert).
Die Parameter atum1 und atum2 werden auf SysUtils.Date gesetzt.
atum3 wird auf SysUtils.Date + 365.0 gesetzt.
Im Ergebnis können 6 Termine genannt werden, aber das ist wohl Pups-Egal.
SQL-Code:
SELECT TOP 5 * FROM Termine
WHERE Typ<>1 AND datum >= :Datum1
UNION ALL
SELECT * FROM Termine
WHERE Typ=1 AND datum >= :Datum2 AND datum < :Datum3
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: bestimmte Termine aus Datenbank abfragen

  Alt 19. Okt 2005, 22:10
Warum so kompliziert über UNION ?

SQL-Code:
select *, DATE_FORMAT (Datum,'%m%d') as MonatTag from Termine
where (Typ=0 and DATE_FORMAT(Datum,'%m%d') >= DATE_FORMAT(CURRENT_DATE,'%m%d')) or
      (Typ=1 and Datum >= CURRENT_DATE)
order by DATE_FORMAT (Datum,'%m%d')
limit 0,5
So in etwa, aber ungetestet, würde ichs probieren.

Schlägt aber fehl ab dem 27.12.... Denn 5 später ist der 01.01., und mit der DATE_FORMAT Funktion ist 0101 < 1217... Aber dennoch denk ich ist der Ansatz nicht zu schlecht
  Mit Zitat antworten Zitat
zappel

Registriert seit: 30. Jan 2004
65 Beiträge
 
Delphi 2005 Personal
 
#7

Re: bestimmte Termine aus Datenbank abfragen

  Alt 20. Okt 2005, 18:39
@Jelly: Ich habe die Abfrage auch schon so ähnlich wie du in deinem Vorschlag gehabt. Bis dahin ist das ja auch recht einfach. Das Problem sind halt die Termine vom Typ Geburtstag aus dem kommenden Jahr.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz