Това трябва да работи за вас:
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
Забележка:Промених втория UNION
към UNION ALL
за по-добро представяне; последната подзаявка никога няма да има дубликати с първите две подзаявки, тъй като DateType
винаги е 2 за първите две и 1 за последния UNION
ed заявка.