sql server - sql orderby conversion error when case is used -
मेरे पास निम्न क्वेरी है
यह तब होता है जब क्या कोई यहाँ पर जा रहा है समझा सकता है? धन्यवाद। तीन अलग-अलग प्रश्नों का प्रयोग करें: आप अब क्या कर रहे हैं, एक कुशल योजना के साथ आने के लिए किसी भी सभ्य मौका SQL सर्वर क्वेरी अनुकूलक को अस्वीकार करने का 100% निश्चित तरीका है: उत्पन्न योजना मूल्य, इसलिए यह एक निश्चित रूप से चाहिए एक सूचक बाधा द्वारा क्रम को संतुष्ट करेगा विषय पर अधिक लंबी चर्चा के लिए पढ़ें। अब आपके मामले में #temp तालिका से आने वाले आंकड़ों को स्टैक तक अधिक से अधिक अलग करने के लिए और भी महत्वपूर्ण है। चूंकि #temp तालिकाओं का अनुक्रमित समर्थन है, जब आप इसे बनाते हैं तो #temp तालिका में उचित संकुल अनुक्रमणिका जोड़ें @sortorder = 1 या < कोड> -1 , नाम से क्रमबद्ध। हालांकि, यदि मामला कथन निकाल दिया जाता है और बस
नाम आरोपित द्वारा आदेश को बिना किसी त्रुटि के क्वेरी चलाने का उपयोग किया जाता है।
DECLARE @SortOrder INT = 1 तालिका बनाएँ # परिणाम (आईडी पहचान की पहचान (1,1), नाम ID INT, अपेक्षित NUMERIC (5,1), वास्तविक NUMERIC (5,1) ) का चयन करें नाम, अपेक्षित, वास्तविक, आईडी से (चयन करें ISNULL (NULLIF (शब्द। वार्ड, ''), नाम। प्राथमिक) एएस [नाम], # परिणाम। अनुमानित, # परिणाम। वास्तविक, # परिणाम। NamedID FROM # Result INNER को नाम पर नाम दर्ज करें। आईडी = # परिणाम.नामआईडआईड बाईं ओर शब्द पर शब्द दर्ज करें। वर्डआईडी = शब्द। WordID और शब्द। भाषाईज = 0 यूनिऑन का चयन करें 'औसत' जैसा नाम, कास्ट (((SUM (# परिणाम। अनुमानित)) के रूप में (अपेक्षित), सीएएसटी ((((एसएम (वास्तविक)) / COUNT (आईडी)) NUMERIC (5,1) एएस [वास्तविक] के रूप में, -99 99 [आईडी] के रूप में [परिणामों से]) परिणामस्वरूप आदेश @ सोर्स ऑर्डर से जब 1 नाम का नाम तब 2 था जब अपेक्षित 3 तब वास्तविक अंत एएससी, मामला @ सोर्स ऑर्डर, जब -1 नाम का नाम तब होगा जब अपेक्षित -3-3 वास्तविक एक सामान्य नियम के रूप में, कभी ऐसा कुछ न उपयोग करें। DESC
यदि @SortOrder = 1 तब चुनें ... नाम से आदेश; और अगर @SortOrder = 2 तो चयन करें ... और यदि अपेक्षित है तो @SortOrder = 3 का चयन करें ... वास्तविक द्वारा क्रम ... चुनें;
नाम ,
अपेक्षित या
वास्तविक आवश्यकता के अनुसार आदेश के लिए विशिष्ट, अलग, #temp तालिकाओं का उपयोग करने का अर्थ है। < / html>
Comments
Post a Comment