Or something like this as only one of the queries will return data:
SELECT
SiteKey
, SiteName
, ...
FROM
fact.Sales f
INNER JOIN Dimension.Sites s
ON f.SiteKey = s.SiteKey
WHERE
@SiteFullAccessFlag = 1
UNION ALL
SELECT
SiteKey
, SiteName
, ...
FROM
fact.Sales f
INNER JOIN Dimension.Sites s
ON f.SiteKey = s.SiteKey
INNER JOIN #Sites ss
ON f.SiteKey = ss.SiteKey;