phpbar.de logo

Mailinglisten-Archive

Kurse an mehreren Daten selektieren ein etwas komplexer select

Kurse an mehreren Daten selektieren ein etwas komplexer select

mysql_(at)_lists.phpcenter.de mysql_(at)_lists.phpcenter.de
Tue, 22 May 2001 08:53:24 MEST


>> ich habe eine Tabelle in der die kursinformationen gespeichert werden, in

>> einer anderen wird die kursid und das datum dazu gespeichert 1:n beziehung.

>> Nun möchte ich folgendes:
>> ich möchte das jeder kurs einmal erscheint und nach dem jüngsten datum
>> sortiert wird wenn jedoch das datum vorbei ist soll das nächste aus der
>> liste erscheinen und das abgelaufene datum soll nicht mehr ersichtlich sein.

>> Die anderen daten sollten alle alle der reihe nach sortiert auch ausgegeben

>> werden (natürlich auch nur diese die noch nicht vorbei sind).
>
>Guckst Du:
>
>zuerst ein paar Erläuterungen:
>termine = Tabelle mit den Kursterminen (Kurs-ID, Kurs-Datum)
>datum = Datum des Kurses (im Format 20010522 oder ähnlich)
>k_id = die ID des Kurses
>
>beschreibung = Tabelle mit den Kursbeschreibungen
>texxt = Spaltenname der Texte
>
>select  min (t.datum) as m_datum, t.k_id, b.texxt from termine t,  beschreibung

>b where t.datum > aktuelles_datum and t.k_id = b.k_id group by t.k_id
>
>aktuelles_datum mußt Du natürlich dynamisch ersetzen, um den aktuellen
>Datumswert immer parat zu haben.
>
>Alex
Hallo Alex, Hallo liste

ich habe fogende tabellen:
# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle 'anlass'
#

CREATE TABLE anlass (
   ID int(11) NOT NULL auto_increment,
   standort int(11),
   titel text,
   referenten text,
   referent text,
   ztext text,
   kontakt tinyint(4),
   type enum('öffentliche Veranstaltung','Kurse','Geschlossene Veranstaltung'),

   PRIMARY KEY (ID),
   UNIQUE ID (ID)
);


# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle 'anlasstermine'
#

CREATE TABLE anlasstermine (
   datum tinyint(10) NOT NULL,
   anlassid tinyint(4) NOT NULL
);

das datum wird als unix time step abgespeichert
Meine angepasste abfrage lautet so:

select  min (datum.anlasstermine) as m_datum,anlassid.anlasstermine, titel.anlass
from anlasstermine,  anlass
 where datum.anlasstermine > aktuelles_datum and anlassid.anlasstermine =IS.anlass
group by anlassid.anlasstermine

nur irgendetwas geht nicht aktuelles_datum wir durch den unix timestep ersetzt

mfG

Thomas Micehl



>
>---
>*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql

>
>

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive