sql - Oracle custom sort -


क्वेरी ...

  myTable से अलग नाम का चयन करें   

उन मानों का एक समूह देता है जो निम्न वर्ण अनुक्रमों से शुरू होता है ...

  ADL * FG * FH * LAS * TWUP *  

जहां '*' स्ट्रिंग का शेष हिस्सा है।

मैं इस तरह से निम्न प्रकार से एक आदेश करना चाहता हूं ...

  एडीएल * लास * TWUP * एफजी * एफएच *  

लेकिन फिर भी मैं फ़ैशन द्वारा मानक आदेश में प्रत्येक नाम के भीतर सॉर्ट करना चाहता हूं। इसलिए, उदाहरण के लिए, अगर मेरे पास निम्न मान हैं

  LAS-21A TWUP-1 FG999 FH3 ADL99999 ADL88888 ADL77777 LAS2  

मैं इसे सॉर्ट करना चाहता हूं मैं इस वियास को डीकोड द्वारा आदेश कर रहा था (blah)

  ADL77777 ADL88888 ADL99999 LAS2 TWUP-1 FG999 एफएच 3  

) डीकोड के अंदर कुछ तरह की प्रलोभन के साथ, लेकिन मैं इसे पूरा करने में असमर्थ रहा हूँ कोई अंतर्दृष्टि?

नासमझ और वर्बोस, लेकिन काम करना चाहिए:

  उपस्ट्रैक्ट (नाम, 1, 4) = 'TWUP', तब जब 3, जब substr (name, 1, 3) = 'LAS' 2 तब substr (name, 1, 3) = 1 का चयन करें, Substr (name, 1, 2) = 'एफजी' = 4 जब substr (नाम, 1, 2) = 'एफएच', तब 5 और 6 सब्सकोर ऑर्डर मेरे डेटा से 2, 1;  

अन्य वस्तुओं को सॉर्ट करने के लिए 6 सही स्थान है, लेकिन यह निश्चित है कि यह कैसे ठीक करें। कम से कम यह स्पष्ट है कि क्या चल रहा है, भले ही मुझे पता नहीं क्यों है कि आप ऐसा क्यों कर रहे हैं।

संपादित करें : यदि ये केवल एक ही मान हैं, तो आप बदल सकते हैं पंक्ति 4 और 5:

  नाम का चयन करें, मामला जब substr (name, 1, 3) = 'ADL' तब 1 जब substr (name, 1, 3) = 'las' 2 तब Substr (नाम, 1, 4) = 'TWUP' तब 3 जब substr (नाम, 1, 1) = 'एफ', फिर 4 और 6 के क्रम में क्रमबद्ध ऑर्डर myTable ऑर्डर से 2, 1;  

एक और संपादन : और फिर, अगर ये केवल एक ही मान हैं, तो आप और भी सरल बना सकते हैं। चूंकि केवल एक ऑर्डर एफ * श्रृंखला है, आप उन्हें अंत तक बाध्य कर सकते हैं, और अन्य सभी के लिए वास्तविक पहले अक्षर का उपयोग कर सकते हैं। यह सरल है, लेकिन मेरी पसंद के सटीक मूल्यों पर बहुत अधिक निर्भर करता है दूसरी ओर, यह substr :

  नाम का चयन करें, मामला जब substr (नाम, 1, 1) = 'एफ के लिए प्रतीत होता है अनावश्यक कॉल के कई निकाल देता है 'फिर' जेड 'दूसरे नाम से क्रमबद्ध ऑर्डर मेरे से आदेश 2 से, 1;  

Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -