2012-09-28 6 views
18

मैं एक क्वेरी पर काम कर रहा हूं जो एक तालिका से डेटा एकत्र करेगा और रिपोर्ट के लिए डेटा प्रदर्शित करेगा।एकाधिक पंक्तियों को एक कॉलम में डुप्लिकेट के बिना मर्ज करें

डेटा इस तरह दिखता है:

Player Score 
001  10 
001  20 
002  20 
002  20 
001  10 
002  10 
003  20 
002  20 
001  10 

मैं इसे इस

Player Score 
001 10,20 
002 10,20 
003 20 

है जैसे कि यह प्रदर्शित करना चाहते हैं लेकिन सभी मैं इस

तरह स्कोर स्तंभ में सभी डेटा की एक संयुक्त सूची है
Player Score 
001 10,20,10,10 
002 20,20,10,20 
003 20 

क्या किसी को यह विचार है कि यह काम कैसे करें?

+0

क्या आपने 'DISTINCT' का उपयोग करने का प्रयास किया है? – Kermit

+3

आप क्यों चाहेंगे? वह एक एसक्यूएल एंटी-पैटर्न है। – MatBailie

+0

आवर्ती 'सीटीई' इसका उत्तर दे सकता है? जहां पुनरावृत्ति प्रत्येक स्कोर को स्ट्रिंग में जोड़ती है? – whytheq

उत्तर

33

एसक्यूएल सर्वर के लिए आप उपयोग कर सकते हैं:

select player, 
    stuff((SELECT distinct ', ' + cast(score as varchar(10)) 
      FROM yourtable t2 
      where t2.player = t1.player 
      FOR XML PATH('')),1,1,'') 
from yourtable t1 
group by player 
+2

मुझे नहीं पता कि यह कैसे काम करता है लेकिन यह काम करता है। गजब का! धन्यवाद। – Lukas

+0

मैं कॉमा रिटर्न लाइन फीड के साथ कॉमा को कैसे बदल सकता हूं? मैंने CHAR (13) + (Char10) के साथ ',' को बदलने की कोशिश की लेकिन यह उन्हें "# x0D" के साथ बदल रहा था – Osprey

+1

@Osprey कृपया अपनी क्वेरी के साथ एक नया प्रश्न पोस्ट करें और आप क्या करने की कोशिश कर रहे हैं। :) – Taryn

1

एक थोड़ी देर हो चुकी है और थोड़ा विषय से हटकर एक और आरडीबीएमएस के लिए के रूप में है, लेकिन मैं इस सूत्र Postgres में इस समस्या का समाधान के लिए खोज पाया। मुझे एक मिला, इसलिए यदि किसी और को पीजी में इस समस्या को हल करने की आवश्यकता है:

SELECT string_agg(DISTINCT <column>,'delimiter') FROM <table> GROUP BY <column2> 
+0

string_agg एक ओरेकल फ़ंक्शन है; mssql में मौजूद नहीं है। – MarwaAhmad

+0

@ मारवा अहमद 'STRING_AGG' ओरेकल फ़ंक्शन नहीं है। यह एक [PostgreSQL एक] है (https://www.postgresql.org/docs/current/static/functions-aggregate.html) (और अब SQL सर्वर 2017 के रूप में एक SQL सर्वर)। – jpmc26

संबंधित मुद्दे