Hallo,
ich habe folgendes Szenario. Auf einem MS SQL-Server existieren zwei Tabellen
Gallerie mit den Spalten
gal_id gal_titel gal_datum gal_status ...
GallerieImages mit den Spalten
gi_id gi_gal_id gi_image gi_sortorder ...
d.h. in der Tabelle GallerieImages sind eine Reihe von Bildernamen, die jeweils einer Gallerie aus der Tabelle Galleries zugeordnet sind.
Ich möchte jetzt eine Abfrage, welche mir folgendes Ergebnis zurückliefert
gal_id gal_titel gal_datum gi_image
wobei gi_image nur das erste Bild aus der entsprechenden Gallerie ist. Dazu benutze ich momentan ein SQL-Statement ähnlich wie
SELECT Galleries.gal_id, Galleries.gal_titel, Galleries.gal_datum, GalleriesImages.gi_image
FROM Galleries INNER JOIN
GalleriesImages ON Galleries.gal_id = GalleriesImages.gi_gal_id
WHERE (Galleries.gal_status = 1)
ORDER BY Galleries.gal_datum, GalleriesImages.gi_sortorder, GalleriesImages.gi_id DESC
wobei die Resultatliste hier aussieht wie
gal_id gal_titel gal_datum gi_image
1 Weihnachten 24.12.07 bild1.jpg
1 Weihnachten 24.12.07 bild2.jpg
1 Weihnachten 24.12.07 bild3.jpg
1 Weihnachten 24.12.07 bild4.jpg
2 Silvester 31.12.07 pic1.gif
2 Silvester 31.12.07 pic2.gif
2 Silvester 31.12.07 pic3.gif
Ich möchte aber nur
gal_id gal_titel gal_datum gi_image
1 Weihnachten 24.12.07 bild1.jpg
2 Silvester 31.12.07 pic1.gif
Hat jemand eine Idee, wie ich mein SQL-Statement so umbauen kann, dass es mir das gewünschte Resultat liefert bzw. ist dies innerhalb eines einzelnen SQL-Statements überhaupt möglich (ich benutzt MS SQL 2000)?
Danke für jeden Hinweis
Timo