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

SQL Server 2000 से 2008 माइग्रेशन - DISTINCT का उपयोग करते समय समस्या के आधार पर ऑर्डर करें

आप ऐसा करके शब्दार्थ को थोड़ा बदल सकते हैं:

SELECT ZipCode FROM 
(
  SELECT DISTINCT ZipCode = LEFT(tz.Zipcode, 5)
    FROM dbo.TerritoryZip
) AS x
ORDER BY ZipCode;

वास्तव में समस्या का समाधान नहीं करता है क्योंकि क्वेरी अधिक वर्बोज़ है और आप अभी भी इसे छूने से बच नहीं सकते हैं। आपने जो सुधार सुझाया है, वह मेरे दिमाग में बेहतर है क्योंकि यह इस बारे में अधिक स्पष्ट है कि क्या हो रहा है।

कठोर नहीं होना चाहिए, लेकिन अगर आपको नहीं लगता कि आप "इस प्रकार के SQL के सभी उदाहरण ढूंढ पाएंगे" तो आप अपने परीक्षण पर कैसे भरोसा कर रहे हैं?

मैं सुझाव दूंगा कि 2000 मोड रखना इष्टतम उत्तर नहीं है। इसका कारण यह है कि यह अन्य सिंटैक्स को तोड़ सकता है (उदाहरण के लिए जिस तरह से आप गतिशील प्रबंधन कार्यों को कॉल कर सकते हैं - देखें यह पॉल रैंडल ब्लॉग पोस्ट और उस पर मेरी टिप्पणी), आप उस कोड को बनाए रखने का जोखिम भी उठाते हैं जिसे ठीक किया जाना चाहिए (जैसे पुरानी शैली *= / =* जॉइन जो 2000 कॉम्पेट मोड में मान्य हैं, लेकिन जब आप 2008 R2 -> Denali से जाते हैं तो मान्य नहीं होंगे, जो 2000 कॉम्पेट का समर्थन नहीं करता है)।

कोई "सख्ती" सेटिंग नहीं है लेकिन आप एरलैंड सोमरस्कोग के SET STRICT_CHECKS ON के लिए वोट कर सकते हैं; सुझाव



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL का उपयोग करके किसी लिंक किए गए सर्वर पर डेटाबेस बनाने के 2 तरीके

  2. अलग-अलग इंसर्ट स्टेटमेंट को निष्पादित करने के लिए काउंट के आधार पर IF ELSE स्टेटमेंट का उपयोग करना

  3. मैपिंग अपवाद Edm.String SqlServer.varbinary के साथ संगत नहीं है

  4. VMware वर्कस्टेशन का उपयोग करके वर्चुअल मशीन पर SQL सर्वर 2019 के लिए Ubuntu 18.04 स्थापित करना

  5. SSRS सब्सक्रिप्शन ईमेल को डुप्लिकेट करना