Here is an example. The query first need to identity the first PhotoId for each folderId. Then do the update by folderId.
DECLARE @Folder TABLE (FolderId INT, DefaultPhotoId INT NULL)
DECLARE @Gallery TABLE (PhotoId INT, FolderId INT)
INSERT INTO @Folder
SELECT 1, NULL UNION
SELECT 2, NULL
INSERT INTO @Gallery
SELECT 101, 1 UNION
SELECT 102, 1 UNION
SELECT 103, 1 UNION
SELECT 104, 2 UNION
SELECT 105, 2 UNION
SELECT 106, 2
;WITH temp AS (
SELECT f.FolderId, g.PhotoId, ROW_NUMBER() OVER(PARTITION BY f.FolderId ORDER BY PhotoId) AS RowNumber
FROM @Folder f JOIN @Gallery g ON f.FolderId = g.FolderId
)
UPDATE f
SET f.DefaultPhotoId = t.PhotoId
FROM @Folder f
JOIn temp t ON f.FolderId = t.FolderId
SELECT * FROM @Folder
Output:
FolderId DefaultPhotoId
1 101
2 104