2012-07-04 11 views
10

संभव डुप्लिकेट:
Case Order by using NullSQL सर्वर 2005: शून्य मूल्यों के साथ आदेश अंत में

मैं रिकॉर्ड एक "ORDERNUM" क्षेत्र द्वारा आदेश दिया की एक सूची प्राप्त करने के लिए देख रहा हूँ। ऑर्डर्नम क्षेत्र एक int फ़ील्ड है। यह फ़ील्ड किसी उपयोगकर्ता द्वारा सेट किए जाने तक NULL के रूप में शुरू होता है। मैं सूची के अंत में नल प्रविष्टियों को दिखाना चाहता हूं।

इस प्रकार मैं एक प्रश्न के निर्माण कर रहा हूँ:

select *, case when (ordernum is null) then [largestInt] else ordernum end as newordernum 
from tableName 
order by newordernum 

मैं जानता हूँ कि मैं [largestInt] के लिए सबसे बड़ा संभव पूर्णांक के लिए मूल्य में प्रवेश कर सकता है, लेकिन मैं [largestInt] एक चर के साथ बदलना चाहते हैं। क्या यह संभव है?

उत्तर

25

मुझे नीचे दिए गए कुल मूल्यों को ऑर्डर करने का कोई तरीका मिला।

http://sqlblog.com/blogs/denis_gobo/archive/2007/10/19/3048.aspx

यह काफी अच्छी तरह से मेरी जरूरतों को पूरा करती। मेरी क्वेरी अब है:

select * 
from tableName 
order by case when ordernum is null then 1 else 0 end, ordernum 
+3

यह करने का यह सही तरीका है। लेकिन मुझे यह अजीब लगता है कि आपका उत्तर लगभग उसी समय पोस्ट किया गया था जब आपका प्रश्न – Lamak

+0

मैं एक ही समय में गुगल था। कुल कार्य प्राप्त किए बिना "अधिकतम int" जैसी चीजों की खोज करना वाकई मुश्किल है। एक ही समय में एक प्रश्न के साथ एक प्रश्न पोस्ट करना संभव है, जो मैंने किया था। :) – dangowans

+3

मुझे यह पता है, इसके साथ कोई समस्या नहीं है। लेकिन यह सवाल वास्तव में एक डुप्लिकेट है जिसे SO पर कई बार उत्तर दिया गया है, इसलिए यहां एक त्वरित खोज ने वही चीज़ वापस कर दी होगी – Lamak