यह आपके लिए काम करना चाहिए:
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 होता है, और अंतिम UNION
. के लिए 1 होता है एड क्वेरी।