Dit zou voor jou moeten werken:
SELECT MyDate, min(DateType) as DateType
FROM (
SELECT mydate - 1 AS MyDate, 2 AS DateType
FROM myTable
WHERE myTable.fkId = @MyFkId;
UNION
SELECT mydate + 1 AS MyDate, 2 AS DateType
FROM myTable
WHERE myTable.fkId = @MyFkId;
UNION ALL
SELECT mydate AS MyDate, 1 AS DateType
FROM myTable
WHERE myTable.fkId = @MyFkId;
) AS myCombinedDateTable
group by MyDate
Opmerking:ik heb de tweede UNION
. gewijzigd naar een UNION ALL
voor betere prestaties; de laatste subquery zal nooit duplicaten hebben met de eerste twee subquery's, sinds DateType
is altijd 2 voor de eerste twee, en 1 voor de laatste UNION
ed vraag.