, если таблицы похожи:
PhotoAlbums
AlbumID PK
...
Photos
PhotoID PK
AlbumID FK
Photo
...
Вот запрос SQL:
SELECT
a.*,p.Photo
FROM PhotoAlbums a
LEFT OUTER JOIN (SELECT
AlbumID,MIN(PhotoID) AS MinPhotoID
FROM Photos
GROUP BY AlbumID
) dt ON a.AlbumID=dt.AlbumID
LEFT OUTER JOIN Photos p ON dt.MinPhotoID=p.PhotoID
рабочий пример:
DECLARE @PhotoAlbums table (AlbumID int)
INSERT @PhotoAlbums VALUES (1)
INSERT @PhotoAlbums VALUES (2)
INSERT @PhotoAlbums VALUES (3)
DECLARE @Photos table (PhotoID int,AlbumID int, Photo varchar(10))
INSERT @Photos VALUES (1,1,'A')
INSERT @Photos VALUES (2,1,'B')
INSERT @Photos VALUES (3,1,'C')
INSERT @Photos VALUES (4,2,'AA')
INSERT @Photos VALUES (5,3,'AAA')
INSERT @Photos VALUES (6,3,'BBB')
SELECT
a.*,p.Photo
FROM @PhotoAlbums a
LEFT OUTER JOIN (SELECT
AlbumID,MIN(PhotoID) AS MinPhotoID
FROM @Photos
GROUP BY AlbumID
) dt ON a.AlbumID=dt.AlbumID
LEFT OUTER JOIN @Photos p ON dt.MinPhotoID=p.PhotoID
ВЫВОД:
AlbumID Photo
----------- ----------
1 A
2 AA
3 AAA
(3 row(s) affected)