दिलचस्प पोस्ट
Django के साथ एक एचटीटीपीआरपीएसप को कैसे प्रसारित करें आप एक सीएसएस चयनकर्ता में वंश का समूह क्यों नहीं कर सकते? कैसे आईओएस अनुप्रयोगों के बीच चाबी का गुच्छा डेटा साझा करने के लिए जार के अंदर जार का संदर्भ क्या विंडो को संश्लेषण करता है खिड़की = _विंडो करता है? एंड्रॉइड: सूचना बार से अधिसूचना हटाएं समारोह के लिए पारित अगर सरणी का आकार निर्धारित करें कैसे डॉस बैच newline चर हैक काम करता है समझाओ एंड्रॉइड में यूआरआई बिल्डर का प्रयोग करें या चर के साथ यूआरएल बनाएं एक क्वेरी की कुंजी में MongoDB वाइल्डकार्ड कैसे Github पृष्ठों और यूआरएल के बिना आसानी से यूआरएल बदल रहा है? फ़्लोटिंग बिंदु तुलना स्विफ्ट – NSViewController से keydown कब्जा पोस्टग्रेएसक्यूएल – ग्रुप बाय क्लॉज में दिखाई देता है या किसी समस्त फ़ंक्शन में इस्तेमाल किया जाता है त्रुटि: vcvarsall.bat को ढूँढने में असमर्थ

डेटाबेस फ़ील्ड में कोमा से अलग किए गए मान

मेरे पास एक उत्पाद तालिका है उस तालिका में प्रत्येक पंक्ति एक एकल उत्पाद से मेल खाती है और यह एक अनन्य आईडी द्वारा पहचाना जाता है अब प्रत्येक उत्पाद के उस उत्पाद से संबंधित कई "कोड" हो सकते हैं। उदाहरण के लिए:

 आईडी |  कोड
 ----------------------
 0001 |  किया, उस पर, ME, ओह
 0002 |  पर, छठी, एसी, ZO
 0003 |  क्यूए, पी एस, OO, एमई

मैं क्या करने की कोशिश कर रहा हूं जो एक संग्रहीत कार्यविधि बना रहा है ताकि मैं "ON, ME" जैसे किसी कोड में जा सकूं और "ओन" या "एमई" कोड वाले प्रत्येक उत्पाद को वापस कर दूंगा। चूंकि कोड को अल्पविराम से पृथक किया गया है, इसलिए मुझे नहीं पता कि मैं उन्हें कैसे विभाजित कर सकता हूं और उन्हें खोज सकता हूं। क्या यह संभवतः केवल TSQL का उपयोग कर रहा है?

संपादित करें: यह एक महत्वपूर्ण महत्वपूर्ण तालिका है मेरे पास इसे बदलने का अधिकार नहीं है

वेब के समाधान से एकत्रित समाधान "डेटाबेस फ़ील्ड में कोमा से अलग किए गए मान"

आपको एक अलग तालिका में कोड जमा करना चाहिए, क्योंकि आपके पास कई रिश्ते के लिए कई हैं यदि आप उन्हें अलग करते हैं, तो आप आसानी से जांच कर पाएंगे।

यह आपके सिस्टम के प्रकार में करना संभव होगा, लेकिन कॉलम की खोज करने की आवश्यकता होती है, काम करने के लिए प्रति पंक्ति में एकाधिक खोजों के साथ, जो आपके डेटा के बढ़ने की बहुत बड़ी कार्यक्षमता समस्याएं होगी।

यदि आप वर्तमान पथ को नीचे जाने की कोशिश करते हैं: आपको अपनी इनपुट स्ट्रिंग को अलग करना होगा, क्योंकि प्रत्येक रिकॉर्ड पर कोड की गारंटी नहीं है क्योंकि इनपुट पैरामीटर के समान ही ऑर्डर (या लगातार) हैं। तो आपको एक करना होगा

Code LIKE '%IN%' AND Code Like '%QA%' 

प्रत्येक कोड के लिए एक अतिरिक्त कथन के साथ क्वेरी जिसे आप जांच रहे हैं। बहुत अक्षम

नीचे यूडीएफ विचार भी एक अच्छा विचार है। हालांकि, आपके डेटा के आकार और प्रश्नों और अपडेट की आवृत्ति के आधार पर, आपको वहां भी समस्याएं हो सकती हैं।

क्या एक अतिरिक्त सारणी बनाने के लिए संभव है जो सामान्यीकृत होता है जो अनुसूचित आधार पर (या ट्रिगर के आधार पर) सिंक्रनाइज़ किया जाता है, जिसके लिए आप इसके बारे में पूछ सकते हैं?

सबसे पहले, आइये मूल तालिका को इस तरह बनने दें:

 Id | Value -----+------ 0001 | IN 0001 | ME 0001 | OH 0001 | ON 0002 | AC 0002 | ON 0002 | VI 0002 | ZO 0003 | ME 0003 | OO 0003 | PS 0003 | QA 

यह पंक्तियों में अल्पविराम से अलग किए गए मानों को पार्स करके पूरा किया जाता है फिर शक्तिशाली सीआरओएसएसपीएपीआरजी कीवर्ड का उपयोग आईडी का पुनः प्राप्त करने के लिए मूल तालिका के साथ जुड़ने के लिए करें। अगले कदम सिर्फ इस सीटीई की जांच करने के लिए है।

 create function FnSplitToTable ( @param nvarchar(4000) ) returns table as return with Num(Pos) as -- list of positions, numbered from 1 to 4000, largest nvarchar ( select cast(1 as int) union all select cast(Pos + 1 as int) from Num where Pos < 4000 ) select substring(@Param, Pos, charindex(',', @Param + ',', Pos) - Pos) as Value from Num where Pos <= convert(int, len(@Param)) and substring(',' + @Param, Pos, 1) = ',' go create proc ProcGetProductId ( @Codes nvarchar(4000) ) as with Src ( Id, Code ) as ( select '0001', 'IN,ON,ME,OH' union all select '0002', 'ON,VI,AC,ZO' union all select '0003', 'QA,PS,OO,ME' ), Parse as ( select s.Id, f.Value from Src as s cross apply FnSplitToTable(s.Code) as f ) select distinct p.Id from Parse as p join FnSplitToTable(@Codes) as f on p.Value = f.Value option (maxrecursion 4000) go exec ProcGetProductId 'IN,ME' -- returns 0001 & 0003 

हर कोई आपको बताने के लिए बहुत उत्सुक है कि आपको ऐसा नहीं करना चाहिए, हालांकि मुझे इसके लिए कोई स्पष्ट व्याख्या नहीं दिखाई दे रही है।

सामान्य नियमों को तोड़ने के अलावा, इसका कारण यह है कि आप सभी पंक्तियों के माध्यम से एक टेबल-स्कैन करेंगे, क्योंकि उस कॉलम में व्यक्तिगत "मूल्यों" पर कोई अनुक्रमणिका नहीं हो सकती है।

सीधे शब्दों में कहें, डेटाबेस इंजिन के लिए जिस तरह से पंक्तियों में कोड 'एसी' है, किसी प्रकार की त्वरित सूची को रखने के लिए कोई रास्ता नहीं है, जब तक कि आप इसे किसी अलग तालिका में तोड़कर या कॉलम में स्वयं न रखें

अब, अगर आपके सिलेक्ट स्टेटमेंट में आपके पास अन्य मापदंड हैं, तो पंक्तियों की संख्या को कुछ प्रबंधनीय संख्या तक सीमित कर दिया जाएगा, तो शायद यह ठीक हो जाएगा, लेकिन अन्यथा, यदि आप कर सकते हैं, तो इस समाधान से बचने की कोशिश करें और दूसरों को क्या करें पहले से ही आपको बताया, इसे अलग टेबल में विभाजित करें

अब, यदि आप इस डिज़ाइन के साथ फंस रहे हैं, तो आप निम्न प्रकार की क्वेरी का उपयोग करके एक खोज कर सकते हैं:

 ... WHERE ',' + Code + ',' LIKE '%,AC,%' 

यह करेगा:

  • मैच 'पर, छठे, एसी, जेडओ'
  • 'ओएन, वीआईए, टीएसी, जेडओ' से मेल नहीं खाता

मुझे नहीं पता कि अगर आपके मामले में आखिरी विकल्प एक व्यवहार्य विकल्प है, अगर आपके पास केवल 2-अक्षरों वाला कोड है, तो आप इसका उपयोग कर सकते हैं:

 ... WHERE Code LIKE '%AC%' 

लेकिन फिर से, यह बहुत खराब प्रदर्शन करेगा जब तक कि आप अन्य मानदंडों का उपयोग करते हुए पंक्तियों की संख्या को सीमित नहीं करते।

यद्यपि सभी पिछले पोस्टर आपके डीबी स्कीमा के सामान्यीकरण के बारे में सही हैं, आप एक "टेबल-वैल्यूड यूडीएफ" का उपयोग करना चाहते हैं जो एक सीमांकित स्ट्रिंग लेता है और स्ट्रिंग में एक पंक्ति प्रति मान के साथ एक तालिका देता है … आप इस तालिका का उपयोग कर सकते हैं जैसा कि आप अपनी संग्रहीत प्रक्रिया में किसी भी अन्य तालिका में शामिल हो सकते हैं, आदि में शामिल हो सकते हैं … यह आपकी तात्कालिक समस्या का समाधान करेगा …

यहां इस तरह की यूडीएफ के लिए एक लिंक है: एफ एन_स्लिपेट यूडीएफ

यद्यपि यह एक संग्रहीत proc में डेटा मूल्यों की एक सीमांकित सूची को पारित करने के लिए उपयोग करने के बारे में लेख वार्ता करता है, तो आप एक समान यूडीएफ का उपयोग किसी मौजूदा तालिका के स्तंभ में संग्रहीत सीमांकित स्ट्रिंग पर संचालित करने के लिए कर सकते हैं ….

जिस तरह से आप डेटा संग्रहीत कर रहे हैं सामान्य नियमों को तोड़ता है। प्रत्येक क्षेत्र में केवल एक एकल परमाणु मान को संग्रहित किया जाना चाहिए। आपको प्रत्येक आइटम को एक पंक्ति में संग्रहित करना चाहिए।

1 वर्ष से अधिक पुराने प्रश्न, लेकिन अभी भी सोचा कि यह उपयोगी होगा आप MySql का FIND_IN_SET फ़ंक्शन का उपयोग कर सकते हैं I मुझे यकीन नहीं है कि क्या अन्य डीबीएमएस इसका समर्थन करते हैं या नहीं।

आप निम्नानुसार इस फ़ंक्शन का उपयोग कर सकते हैं:

 SELECT * FROM `table_name` WHERE FIND_IN_SET('AC', `Code`) > 0 

यह संभव नहीं हो सकता है कि यदि आप उस डेटाबेस डिज़ाइन से जुड़ा हो, लेकिन कोड को अन्य तालिका में अलग-अलग रिकॉर्ड में डालना आसान हो जाएगा:

 ProductCode ----------- ProductID (FK to Product.ID) Code (varchar) 

टेबल इस तरह दिख सकती है:

 ProductID Code ----------------- 0001 IN 0001 ON 0001 ME ... 

क्वेरी कुछ इस तरह दिखाई देगी (आपको किसी भी तरह से कोड में पास करना होगा – या तो अलग चर के रूप में, या शायद कॉमा से अलग स्ट्रिंग जो आप proc में विभाजित है):

 select ProductID from ProductCode where Code in ('ON', 'ME') 

मैं यहां अन्य पोस्टरों से सहमत हूं कि आपको स्कीमा सामान्यीकरण में सावधानी से देखना चाहिए, लेकिन मुझे यह भी पता है कि शॉर्टकट जीवन का हिस्सा हैं।

यहां एक नमूना फ़ंक्शन है जो सिबेश बोली में लिखी गई है जो कि आप करते हैं:

 ALTER FUNCTION "DBA"."f_IsInStringList"( IN @thisItem char(2), IN @thisList varchar(4000) ) RETURNS INTEGER DETERMINISTIC BEGIN DECLARE is_member bit; DECLARE LOCAL TEMPORARY TABLE tmp (thisItem char(2)) ; DECLARE @tempstring varchar(10); DECLARE @count integer; IF LENGTH(TRIM(@thisList)) > 0 THEN WHILE LENGTH(TRIM(@thisList)) > 0 LOOP -- loop over comma-separated list and stuff members into temp table IF LOCATE ( @thisList, ',' , 1) > 0 THEN SET @count = LOCATE ( @thisList, ',' , 1); SET @tempstring = SUBSTRING ( @thisList, 1,@count-1 ); INSERT INTO tmp ( thisItem ) VALUES ( @tempstring ); SET @thisList = STUFF ( @thisList, 1, @count, '' ) ELSE INSERT INTO tmp ( thisItem ) VALUES ( @thisList ); SET @thisList = NULL; END IF; END LOOP ; END IF; IF EXISTS (SELECT * FROM tmp WHERE thisItem = @thisItem ) THEN SET is_member = 1; ELSE SET is_member = 0 ; END IF ; RETURN is_member; END 

फिर आप यह पूछने के लिए एक साधारण क्वेरी बना सकते हैं कि आपका कॉमा से अलग स्ट्रिंग में कोई मान हो या नहीं:

 select * from some_table t WHERE f_IsInStringList('OR', t.your_comma_separated_column) = 1 OR f_IsInStringList('ME', t.your_comma_separated_column) = 1 

हालाँकि आपके मामले में साधारण कार्य काम करेंगे, यहां पर यह हल है कि कैसे अल्पविराम से अलग स्ट्रिंग्स को पर्स करने के लिए टेबल सामान्यकरण (अलग-अलग रिकॉर्डों में अल्पविराम से पृथक किए गए फ़ील्ड पार्स करें) ।

यदि आप इसे php और mysql के साथ करना चाहते हैं तो यह किसी भी संख्या में कोई प्रतिबंध नहीं हो सकता है

 $var = explode(',',"ahmad,sayeed,asmal,babu"); $query = "SELECT * FROM post WHERE post_tags LIKE '%a%' "; $query1=NULL; foreach($var as $value) { $query1.= " OR post_tags LIKE '%$value%' "; } echo "$query $query1"; 

उत्पादन:

'*% A%' या पोस्ट_टैग की तरह '% ahmad%' या पोस्ट_टैग की तरह '% sayeed%' या post_tags '% asmal%' या post_tags पसंद करें '% babu%'

पहला कदम: फ़ंक्शन बनाने के लिए कोड

 <font face="Courier New" size="2"> <font color = "blue">CREATE</font>&nbsp;<font color = "blue">FUNCTION</font>&nbsp;<font color = "maroon">[dbo]</font><font color = "silver">.</font><font color = "#FF0080"><b>[Udflistofids]</b></font>&nbsp;<font color = "maroon">(</font> <br/><font color = "green"><i>&#45;&#45;&nbsp;Add&nbsp;the&nbsp;parameters&nbsp;for&nbsp;the&nbsp;function&nbsp;here</i></font> <br/><font color = "#8000FF">@ListOfIDs</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "maroon">max</font><font color = "maroon">)</font> <br/><font color = "green"><i>&#45;&#45;,&nbsp;@IDsSeperationChar&nbsp;as&nbsp;varchar(5)&nbsp;=&nbsp;','</i></font> <br/><font color = "silver">,</font> <br/><font color = "#8000FF">@UniqueID1</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "silver">,</font> <br/><font color = "#8000FF">@UniqueID2</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "silver">,</font> <br/><font color = "#8000FF">@UniqueID3</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "silver">,</font> <br/><font color = "#8000FF">@UniqueID4</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "silver">,</font> <br/><font color = "#8000FF">@UniqueID5</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "maroon">)</font> <br/><font color = "maroon">returns</font>&nbsp;<font color = "#8000FF">@TabListOfIDs</font>&nbsp;<font color = "blue">TABLE</font>&nbsp;<font color = "maroon">(</font> <br/>&nbsp;&nbsp;<font color = "green"><i>&#45;&#45;&nbsp;Add&nbsp;the&nbsp;column&nbsp;definitions&nbsp;for&nbsp;the&nbsp;TABLE&nbsp;variable&nbsp;here</i></font> <br/>&nbsp;&nbsp;<font color = "maroon">id</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">50</font><font color = "maroon">)</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;<font color = "maroon">uniqueid1</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;<font color = "maroon">uniqueid2</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;<font color = "maroon">uniqueid3</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;<font color = "maroon">uniqueid4</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;<font color = "maroon">uniqueid5</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">250</font><font color = "maroon">)</font><font color = "maroon">)</font> <br/><font color = "blue">AS</font> <br/>&nbsp;&nbsp;<font color = "blue">BEGIN</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "green"><i>&#45;&#45;&nbsp;Fill&nbsp;the&nbsp;table&nbsp;variable&nbsp;with&nbsp;the&nbsp;rows&nbsp;for&nbsp;your&nbsp;result&nbsp;set</i></font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">DECLARE</font>&nbsp;<font color = "#8000FF">@Pos</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "black"><i>INT</i></font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">DECLARE</font>&nbsp;<font color = "#8000FF">@ID</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">50</font><font color = "maroon">)</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#8000FF">@IDsSeperationChar</font>&nbsp;<font color = "blue">AS</font>&nbsp;<font color = "black"><i>VARCHAR</i></font><font color = "maroon">(</font><font color = "black">5</font><font color = "maroon">)</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">','</font> <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "green"><i>&#45;&#45;SET&nbsp;@ListOfIDs&nbsp;=&nbsp;REPLACE(&nbsp;@ListOfIDs,&nbsp;&nbsp;@IDsSeperationChar,&nbsp;',')</i></font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">SET</font>&nbsp;<font color = "#8000FF">@ListOfIDs</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "fuchsia"><i>Ltrim</i></font><font color = "maroon">(</font><font color = "fuchsia"><i>Rtrim</i></font><font color = "maroon">(</font><font color = "#8000FF">@ListOfIDs</font><font color = "maroon">)</font><font color = "maroon">)</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">+</font>&nbsp;<font color = "#8000FF">@IDsSeperationChar</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">SET</font>&nbsp;<font color = "#8000FF">@Pos</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "fuchsia"><i>Patindex</i></font><font color = "maroon">(</font><font color = "red">'%'</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "#8000FF">@IDsSeperationChar</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "red">'%'</font><font color = "silver">,</font>&nbsp;<font color = "#8000FF">@ListOfIDs</font><font color = "maroon">)</font> <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "green"><i>&#45;&#45;SET&nbsp;@Pos&nbsp;=&nbsp;CHARINDEX(@IDsSeperationChar,&nbsp;@ListOfIDs,&nbsp;1)</i></font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">IF</font>&nbsp;<font color = "fuchsia"><i>Replace</i></font><font color = "maroon">(</font><font color = "#8000FF">@ListOfIDs</font><font color = "silver">,</font>&nbsp;<font color = "#8000FF">@IDsSeperationChar</font><font color = "silver">,</font>&nbsp;<font color = "red">''</font><font color = "maroon">)</font>&nbsp;<font color = "silver">&lt;&gt;</font>&nbsp;<font color = "red">''</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">BEGIN</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">WHILE</font>&nbsp;<font color = "#8000FF">@Pos</font>&nbsp;<font color = "silver">&gt;</font>&nbsp;<font color = "black">0</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">BEGIN</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">SET</font>&nbsp;<font color = "#8000FF">@ID</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "fuchsia"><i>Ltrim</i></font><font color = "maroon">(</font><font color = "fuchsia"><i>Rtrim</i></font><font color = "maroon">(</font><font color = "fuchsia"><i>LEFT</i></font><font color = "maroon">(</font><font color = "#8000FF">@ListOfIDs</font><font color = "silver">,</font>&nbsp;<font color = "#8000FF">@Pos</font>&nbsp;<font color = "silver">-</font>&nbsp;<font color = "black">1</font><font color = "maroon">)</font><font color = "maroon">)</font><font color = "maroon">)</font> <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">IF</font>&nbsp;<font color = "#8000FF">@ID</font>&nbsp;<font color = "silver">&lt;&gt;</font>&nbsp;<font color = "red">''</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">BEGIN</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">INSERT</font>&nbsp;<font color = "blue">INTO</font>&nbsp;<font color = "#8000FF">@TabListOfIDs</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">(</font><font color = "maroon">id</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">uniqueid1</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">uniqueid2</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">uniqueid3</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">uniqueid4</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">uniqueid5</font><font color = "maroon">)</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">VALUES</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">(</font><font color = "#8000FF">@ID</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#8000FF">@UniqueID1</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#8000FF">@UniqueID2</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#8000FF">@UniqueID3</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#8000FF">@UniqueID4</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "#8000FF">@UniqueID5</font><font color = "maroon">)</font>&nbsp;<font color = "green"><i>&#45;&#45;Use&nbsp;Appropriate&nbsp;conversion</i></font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">END</font> <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">SET</font>&nbsp;<font color = "#8000FF">@ListOfIDs</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "fuchsia"><i>RIGHT</i></font><font color = "maroon">(</font><font color = "#8000FF">@ListOfIDs</font><font color = "silver">,</font>&nbsp;<font color = "fuchsia"><i>Len</i></font><font color = "maroon">(</font><font color = "#8000FF">@ListOfIDs</font><font color = "maroon">)</font>&nbsp;<font color = "silver">-</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "fuchsia"><i>Len</i></font><font color = "maroon">(</font><font color = "#8000FF">@ID</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "#8000FF">@IDsSeperationChar</font><font color = "maroon">)</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">)</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">SET</font>&nbsp;<font color = "#8000FF">@Pos</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "fuchsia"><i>Patindex</i></font><font color = "maroon">(</font><font color = "red">'%'</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "#8000FF">@IDsSeperationChar</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "red">'%'</font><font color = "silver">,</font>&nbsp;<font color = "#8000FF">@ListOfIDs</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">)</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "green"><i>&#45;&#45;SET&nbsp;@Pos&nbsp;=&nbsp;CHARINDEX(@IDsSeperationChar,&nbsp;@ListOfIDs,&nbsp;1)</i></font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">END</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">END</font> <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "blue">RETURN</font> <br/>&nbsp;&nbsp;<font color = "blue">END</font> <br/> <br/><font color = "maroon">go</font>&nbsp; </font> **2nd Step : Code to get the result** <font face="Courier New" size="2"> <font color = "blue">DECLARE</font>&nbsp;<font color = "#8000FF">@udvMax</font>&nbsp;<font color = "black"><i>NVARCHAR</i></font><font color = "maroon">(</font><font color = "maroon">max</font><font color = "maroon">)</font> <br/> <br/><font color = "blue">SELECT</font>&nbsp;<font color = "#8000FF">@udvMax</font>&nbsp;<font color = "silver">=</font>&nbsp;<font color = "red">''</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "fuchsia"><i>Substring</i></font><font color = "maroon">(</font>&nbsp;<font color = "maroon">(</font>&nbsp;<font color = "blue">SELECT</font>&nbsp;<font color = "red">'&nbsp;Union&nbsp;'</font>&nbsp;<font color = "silver">+</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "red">'Select&nbsp;*&nbsp;from&nbsp;dbo.udfListOfIDs('''</font>&nbsp;<font color = "silver">+</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "maroon">tmpu</font><font color = "silver">.</font><font color = "maroon">code</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "red">''',&nbsp;'''</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "maroon">tmpu</font><font color = "silver">.</font><font color = "maroon">id</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "red">''',&nbsp;'''</font>&nbsp;<font color = "silver">+</font>&nbsp;<font color = "maroon">tmpu</font><font color = "silver">.</font><font color = "maroon">code</font>&nbsp;<font color = "silver">+</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "red">''',&nbsp;null,null,null&nbsp;)'</font>&nbsp;<font color = "blue">FROM</font>&nbsp;<font color = "maroon">tmpu</font>&nbsp;<font color = "blue">FOR</font>&nbsp;<font color = "maroon">xml</font>&nbsp;<font color = "maroon">path</font><font color = "maroon">(</font><font color = "red">''</font><font color = "maroon">)</font><font color = "maroon">)</font><font color = "silver">,</font>&nbsp;<font color = "black">7</font><font color = "silver">,</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "black">200000</font><font color = "maroon">)</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "silver">+</font> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color = "red">'&nbsp;Order&nbsp;by&nbsp;UniqueID1,&nbsp;UniqueID2,&nbsp;UniqueID3,&nbsp;UniqueID4,&nbsp;UniqueID5,&nbsp;ID'</font> <br/> <br/><font color = "green"><i>&#45;&#45;Select&nbsp;@udvMax</i></font> <br/><font color = "blue">EXECUTE</font>&nbsp;<font color = "#FF0080"><b>Sp_executesql</b></font> <br/>&nbsp;&nbsp;<font color = "#8000FF">@udvMax</font>&nbsp; </font> 

**** हो सकता है कि आपको दूसरे चरण में चयन बयान में अपना मानदंड जोड़ना पड़ सकता है। **

आशा है कि यह आपकी मदद करेगा।

जेपी