Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 08.09.2006, 13:56   Nach oben    #1
Erfahrener Benutzer
 
Benutzerbild von Gottzilla
 
Registriert seit: 02.02.2005
Beiträge: 515
Standard SQL Statment, Subselect, Max

Hi (sry, mir ist kein besserer Titel eingefallen),

ich habe seit einigen Wochen in einem Java-Projekt ein Problem mit einigen SQL-Statements. Hab auch schon in einem anderen Forum gefragt, aber dort konnte man mir nicht wirklich weiterhelfen. Da die Zeit jetzt aber langsam drängt (Nächsten Montag ist Abgabe) habe ich mich dazu entschlossen in einem anderen Forum (hier ) Die Frage nochmal zu stellen. Ich hoffe mal ihr nehmt mir das Cross-Posting nicht übel .

Zu meinem Problem:

Ich habe eine HSQL-DB in der es u. a. zwei Tabellen gibt:

Kursveranstaltung => hier werden von Kursen (KID) die Termine (Datum und Uhrzeit) gespeichert

KVID (int, PK), Datum (int im Format yyyymmdd), Uhrzeit (varchar) und KID (int, FK, dient um eine Kursveranstaltung einen übergeordnetem Kurs zuzuordenen, ist aber hier ohnehin trivial)

Besuchte_Kursveranstaltung => hier wird gespeichert ob ein Teilnehmer (EID) eines Kurses an einer Kursveranstaltung (KVID) teilgenommen hat. Ist er eingetragen heißt das automatisch, dass er auch teilgenommen hat.

KVID (int, PK, FK) und EID (int, FK)

jetzt möchte ich alle EIDs haben, die entweder vor, am oder nach einem bestimmten Datum ihren LETZTEN Kursbesuch hatten.

Leider hat bis jetzt kein Ansatz funktioniert und ich hab auch keine Idee wie ich so einen Statement basteln könnte. Ich hoffe mein Problem ist einigermaßen verständlich und jemand weiß auch eine Lösung für diese Situation.

Danke!

lg

Gottzilla
Gottzilla ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 09.09.2006, 15:17   Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von Gottzilla
 
Registriert seit: 02.02.2005
Beiträge: 515
Standard

Dank WarrenFaith konnte ich das Problem so lösen:

SELECT EID FROM
(SELECT temp.EID, MAX(temp.Datum) FROM
(SELECT EID, Datum FROM besuchte_kursveranstaltung INNER JOIN kursveranstaltung ON besuchte_kursveranstaltung.KVID = kursveranstaltung.KVID ORDER BY kursveranstaltung.DATUM DESC) as temp GROUP BY temp.EID HAVING MAX(temp.DATUM) < 20061103))
Gottzilla ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abkürzung des Wochentags in SQL, vgl. strftime in PHP Ben Datenbanken 4 12.04.2007 16:51
SQL Problem Dracul Datenbanken 3 31.10.2006 09:35
Zugriff auf Wert des vorhergenden Datensatzes in einer SQL Abfrage Jay Datenbanken 5 17.07.2006 15:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:55 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44