Toto by vám mělo fungovat:
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
Poznámka:Změnil jsem druhý UNION
na UNION ALL
pro lepší výkon; poslední poddotaz nikdy nebude mít duplikáty s prvními dvěma poddotazy, protože DateType
je vždy 2 pro první dva a 1 pro poslední UNION
ed dotaz.