• declare @DayToFind tinyint, @AnyDayInAMonth datetime

    select @DayToFind = 1, --Monday

    @AnyDayInAMonth = '2009-04-15'--Target month

    select dateadd(day, (datepart(d, @AnyDayInAMonth) - datepart(dw, @AnyDayInAMonth) - @@datefirst + @DayToFind) % 7, dateadd(day, 1-datepart(d, @AnyDayInAMonth), @AnyDayInAMonth))

    Seems like a nice single-select statement to me.