![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
me pro ok?
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
|
Also, ich hab zwei Tabellen für eine einfache Kursverwaltung:
Code:
+------+--------+ |kurse | +------+--------+ |kursID|kursName| +------+--------+ |1 |Kochkurs| +------+--------+ |2 |Surfkurs| +------+--------+ |usw. |usf. | +------+--------+ +---------------------------------------+ |termine | +--------+------+------------+----------+ |terminID|kursID|terminBeginn|terminEnde| +--------+------+------------+----------+ |1 |2 |timestamp |timestamp | +--------+------+------------+----------+ |2 |1 |timestamp |timestamp | +--------+------+------------+----------+ |3 |2 |timestamp |timestamp | +--------+------+------------+----------+ |4 |1 |timestamp |timestamp | +--------+------+------------+----------+ Was ich jetzt machen möchte ist eine Archivfunktion. D.h. es werden die Kurse ausgewählt, deren ältester Termin älter als x ist. Ihc hab shcon einiges dazu rumprobiert, mein "bester" Versuch sah wie folgt aus, seitdem steh ich aufm Schlauch. Code:
SELECT DISTINCT
kursID
FROM
kurse
WHERE
FIND_IN_SET(kursID,
(SELECT DISTINCT
kursID
FROM
termine
WHERE
{-> hier keine ahnung mehr }
)) = 1
ORDER BY
kursName
ASC
__________________
Gedanken aus Draht stricken einen Zaun. |
|
|
|
|
|
Nach oben #2 |
|
Erfahrener Benutzer
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 503
|
warum nicht einfach so?
sql Code:
__________________
Weißt Bescheid - Scheiß wie weit |
|
|
|
|
|
Nach oben #3 |
|
me pro ok?
Registriert seit: 07.09.2005
Ort: Pulheim bei Köln
Beiträge: 964
|
Ja, das war mien erster Versuch. Problem daran ist, dass nur Kurse gewählt werden sollen, von denen _alle_ Termine eine bestimmte Zeit her sind. Bei deinem Code bekommt man für jeden Termin, der die Zeit hinter sich hat, die zugehörige Kurs-ID.
__________________
Gedanken aus Draht stricken einen Zaun. |
|
|
|
|
|
Nach oben #5 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 662
|
Relativ einfach machbar, allerdings empfehle ich für das Datumsfeld ein DATETIME-Feld, Timestamps sind etwas wenigsagend, wenn man mal manuell an der Tabelle arbeiten muss:
sql Code:
Du musst dann nur anstelle von 'YYYY-MM-DD HH:MM:SS' das Datum bzw. Datum und Uhrzeit (Uhrzeit kann auch einfach weggelassen werden, wenn nicht benötigt, bsp: 'YYYY-MM-DD') von dem Termin in der Vergangenheit, bis zu dem alle Termine gewesen sein sollen. Ich hoffe ich konnte dir damit weiterhelfen!? EDIT: Sorry, mir ist da leider ein kleiner Denkfehler unterlaufen... Ich habe das SQL-Statement nochmal überarbeitet, man muss die Counts der beiden Joins vergleichen, ansonsten kann das so garnicht klappen, wie ich das zuerst dachte. Hoffe es klappt nun so, wie ich es jetzt dargestellt habe, konnte es leider noch nicht testen...
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll Geändert von MrNiceGuy (23.08.2006 um 06:21 Uhr). |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] Zeitformate, Datum und Co | Jann Hendrik | Tutorials | 0 | 05.12.2006 18:48 |
| Datum in DB und wieder raus | Jan | PHP-Programmierung | 13 | 22.10.2006 16:15 |
| Aktuelle Kurse Yen | Shin Yoshida | Plauderecke | 7 | 28.06.2006 23:31 |
| Deutsches Datum in englisches Umwandeln | la-finest | PHP-Programmierung | 16 | 03.02.2006 12:15 |
| Datum Anzeigen / Speichern | doria | PHP-Programmierung | 27 | 02.12.2005 12:00 |