Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

अल्पविराम से अलग किए गए टेक्स्ट के कॉलम में अद्वितीय मान खोजें

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

सबसे पहले... मैं एक बयान तैयार करूंगा जो सभी पंक्तियों को एक बड़े विशाल अल्पविराम सीमांकित सूची में बदल देगा।

DECLARE @tmp VarChar(max)
SET @tmp = ''
SELECT @tmp = @tmp + ColumnA + ',' FROM TableA

फिर इस SO आलेख द्वारा वर्णित तालिका मूल्यवान udf विभाजन का उपयोग करके उस विशाल स्ट्रिंग को एक विशिष्ट खंड के साथ तालिका में वापस चालू करें ताकि यह सुनिश्चित हो सके कि यह अद्वितीय है।

https://stackoverflow.com/a/2837662/261997

SELECT DISTINCT * FROM dbo.Split(',', @tmp)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. स्तंभों की गतिशील सूची के साथ SQL पिवट डेटा

  2. SQL सर्वर 2008 में लीड लैग फ़ंक्शन का वैकल्पिक

  3. टी-एसक्यूएल में nvarchar चर के कास्ट संयोजन

  4. कोडइग्निटर एमएसएसक्यूएल कनेक्शन

  5. वर्ण लंबाई में 900 बाइट अनुक्रमणिका आकार सीमा