Monday 15 July 2013

SQL Server 2005 Difference in Values -


मेरे पास यह प्रश्न है:

  SELECT ID, value table से WHERE आईडी = (SELECT तालिका से WHERE Recid = 12637) MIN (आईडी) तालिका का चयन आईडी, मूल्य से तालिका WHERE आईडी = (चुनें MAX (ID) तालिका से WHERE RecID = 12637)   

मैं इसे गोता लगाने के लिए चाहता हूँ मुझे दो मूल्य परिणामों के बीच अंतर है लेकिन मुझे इसकी भी आवश्यकता है कि यदि आईडी भिन्न हो तो - जो मुझे विश्वास है कि कोई समस्या नहीं होगी क्योंकि मेरा मानना ​​है कि केवल एक ही परिणाम अगर केवल एक परिणाम वापस किया जाता है।

अपडेट <पूर्व> आईडी | मूल्य ------------ 100 | 23000 110 | 25000

वर्तमान क्वेरी परिणाम ऊपर दिखाए गए हैं मैं 2000 के परिणाम प्राप्त करने का एक तरीका तलाश रहा हूं।

इसके पीछे की कहानी मेरे पास एक टेबल है जो प्रत्येक प्रविष्टि के लिए मूल्य प्राप्त करता है 1 रिकॉर्ड या 15 हो सकते हैं, जो बाद के संशोधन हैं। मैं पहले रिकॉर्ड MIN (आईडी) और नवीनतम रिकॉर्ड MAX (ID) में पहली बार क्या बताया गया था, इस बीच का अंतर जानना चाहता हूं

यदि आईडी और VALUE दोनों INT नहीं नल तो एक तरीका होगा

  SELECT REID, CAST (SUBSTRING (MAX (बी), 6, 4) INT) - CAST (SUBSTRING (MIN (B), 6, 4) AS आईएनटी) अपनेटेबल क्रॉस से (चयन करें जब आईडी और लेफ्टिनेंट; 0 थी तब 0x00 ELSE 0x01 END + CAST (आईडी के रूप में द्विरेखीय (4)) + कास्ट (बीएसई के रूप में मूल्य (4)) सीए (बी) ग्रुप द्वारा आरआईआईडी   

या वैकल्पिक रूप से एक अन्य तरीका (बदलते डेटाटिप्स के लिए कम गुप्त और अधिक मजबूत)

 ; साथ टी के रूप में (SELECT *, ROW_NUMBER ()) (रीडआईड ऑर्डर आरएएनएएससी, आरओएयू_ () द्वारा (आरईएनएसीसी = 1 THEN वैल्यू एण्ड) - अधिकतम (मामला जब आरएनएएससी = 1 THEN वैल्यू एन्ड) आरएएनएएससी, आरओएयू_ ((आईडी डीईएससी द्वारा रिकैड ऑर्डर के आधार पर) 1 IN (आरएनएएससी, आरएनडीसीसी) ग्रुप द्वारा RecID   

या किसी अन्य तरीके से, @ एंड्री की सौजन्य, जो ROW__NUMBER से अधिक कुशल है, क्योंकि यह एक प्रकार की कार्रवाई से बचा जाता है

 ; के साथ टी के रूप में (SELECT * , न्यूनतम (आईडी) पर (रीडआईड द्वारा प्रतिलिपि) न्यूनतम, अधिकतम (आईडी) ओवर (रीडिडा द्वारा भाग) आपका मैसेज से अधिकतम) चयन करें MAX (मामला जब आईडी = अधिकतम तब मान एडीडी) - अधिकतम (मामला जब आईडी = न्यूनतम तो मूल्य वर्क ) RecID     द्वारा टी ग्रुप से

No comments:

Post a Comment