Mailinglisten-Archive |
Jens Reinemuth schrieb: > Hallo Liste... > > ich steh echt grad auf dem Schlauch... > > Ein Modul meiner HP scannt meine Musiksammlung durch und kopiert die ID-Tags > in Tables einer Datenbank... > > Es gibt eine Table für > - Title > - Artist > - Album > > Title enthält albumid und artistid. Ein Titel kann aber auf mehreren Alben sein ... Ein Title kann ebenfalls von mehreren Künstlern sein ... aber das nur am Rande > Soweit so gut. Das Anzeigen einer (HTML-)Liste aller Titles ist einfach, nun > kommt aber die Liste der Alben. > > Das Problem ist folgendes: Jeder Track hat ein Album, einen Artist... ABER ein > Album kann mehrere Artists haben (z.B. der Soundtrack zu "Judgement > Night")... > Klar könnte ich hier einfach "V.A." speichern, aber dann ist eine Suche nach > Artist nicht möglich. > > Puuuh lange Rede, kurzer Sinn: Ich bekomm einfach die Abfrage nicht hin, die > mir jedes Album genau einmal anzeigt, mit einem einzelnen Artist, > oder "V.A.", wenn es mehrere gibt. ungestest, eventuell mal den CASE Syntax nachschlagen: SELECT open_Music_Album.id AS albumID, open_Music_Album.name AS albumName, open_Music_Album.rating AS albumRating, open_Music_Album.image AS albumImage, UNIX_TIMESTAMP(open_Music_Album.updated) AS albumUpdated, CASE WHEN COUNT(DISTINCT open_Music_Artist.id) > 1 THEN 'V.A.' ELSE open_Music_Artist.name END AS artistName FROM open_Music_Album LEFT JOIN open_Music_Title ON open_Music_Album.id = open_Music_Title.albumid LEFT JOIN open_Music_Artist ON open_Music_Artist.id = open_Music_Title.artistid GROUP BY open_Music_Album.id -- Sebastian Mendel www.sebastianmendel.de
php::bar PHP Wiki - Listenarchive