Daten hintereinander ausgeben?



  • Hallo,

    ich habe eine Tabelle mit PersonenName, Anwesendheitsdatum, nun möchte ich alle
    Daten ausgeben, in der diese Person anwesend ist:

    etwa so

    Name | Datum | Datum | Datum
    Peter 2005-01-09 2005-02-09 2005-03-08

    habe mit join herum probiert, er gibt sie aber nicht so aus.



  • Für den Anfang: SELECT * FROM Tabelle WHERE Name = 'Peter';

    MfG



  • sql schrieb:

    habe mit join herum probiert, er gibt sie aber nicht so aus.

    Imho werden Datensätze immer Zeilenweise ausgegeben.
    Da jedes Datum einem Datensatz entspricht stehen diese also jeweils in
    einer neuen Zeile.

    SELECT Datum
    FROM Tabelle
    WHERE Name = 'Peter'
    ORDER BY Datum;
    

    Dann das ganze im Programm durchlaufen und entsprechend formatiert ausgeben.



  • @Tanzfreak: C++Forum-Clown?????

    @anonymus: das in Java einzubinden und zu verarbeiten ist ja kein Problem,
    ich will alles mit einer select Anweisung machen.



  • Mit einem einfachen Statement ist das nicht möglich.

    Je nach Datenbank sollte es allerdings mit einer Stored Procedure möglich sein, den Select aufzurufen, durch alle Ergebniszeilen zu iterieren, die Werte nacheinander in einen String zu schreiben und diesen dann zurückzugeben.



  • Unsere Sybase Datenbank versteht dieses Konstrukt:

    FOR Test AS Cursor cur FOR
    SELECT Name FROM Personen
    DO
    SELECT PersName, Datum FROM Anwesenheit
    WHERE PersName = Name
    END FOR
    

Anmelden zum Antworten