Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एसक्यूएल तिथियों की सूची के साथ-साथ डुप्लीकेट के पहले और बाद के दिनों की सूची प्राप्त करने के लिए

यह आपके लिए काम करना चाहिए:

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 होता है एड क्वेरी।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उदाहरण के साथ SQL सर्वर इनर जॉइन बेसिक्स

  2. ASIN () SQL सर्वर में उदाहरण

  3. एसक्यूएल बाइनरी सी # - सी # में बाइनरी के एसक्यूएल बाइनरी समकक्ष कैसे प्राप्त करें

  4. SQLException:स्ट्रिंग या बाइनरी डेटा को छोटा कर दिया जाएगा

  5. SQL सर्वर 2008 में XML कॉलम को क्वेरी करने से कई पंक्तियों को वापस करना