yo,
SELECT bilder.link, projekte.pID, projekte.sID, projekte.name
FROM projekte, bilder, phat
WHERE sID = colname AND projekte.pID = phat.pID AND phat.bID = bilder.bID
die schreibeweise der joins ist nicht sehr leserlich, deswegen würde ich grundsätzlich die joins auch explizit hinschreiben, zum beispiel in der folgenden form :
SELECT bilder.link, pr.pID, pr.sID, pr.name
FROM projekte pr
INNER JOIN phat ph ON pr.pID = ph.pID
INNER JOIN bilder b ON ph.bID = b.bID
WHERE sID = colname
das liesst sich schon mal viel angenehmer. nun aber zu deinem eigentlichen problem, was du brauchst sind korrelierte unterabfragen, so dass du zu einem projekt immer nur ein bild erhälst.
SELECT bilder.link, pr.pID, pr.sID, pr.name
FROM projekte pr
INNER JOIN phat ph ON pr.pID = ph.pID
INNER JOIN bilder b ON ph.bID = b.bID
WHERE sID = colname
AND b.bID =
(SELECT MAX(b2.bID)
FROM phat ph2
INNER JOIN bilder b2 ON ph2.bID = b2.bID
WHERE pr.pID = ph2.pID
)
;
Ilja