इन लेखों पर एक नज़र डालें:
http://dataeducation.com/rowset-string-concatenation- कौन-सी-विधि-सर्वश्रेष्ठ है/
http:// www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/ (प्रतिक्रियाओं में फिल फैक्टर का क्रॉस जॉइन समाधान देखें - जो SQL Server 2000 में काम करेगा)
स्पष्ट रूप से SQL सर्वर 2005 में, फॉर एक्सएमएल ट्रिक सबसे आसान, सबसे लचीला और आम तौर पर सबसे अधिक प्रदर्शन करने वाला है।
जहाँ तक प्रत्येक पंक्ति के लिए एक रोसेट लौटाने की बात है, यदि आप अभी भी किसी कारण से ऐसा करना चाहते हैं, तो आप इसे एक संग्रहीत कार्यविधि में कर सकते हैं, लेकिन क्लाइंट को पहली पंक्ति में सभी पंक्तियों का उपभोग करने की आवश्यकता होगी और फिर अगले पर जाएँ रोसेट और इसे पहली पंक्ति में पहली पंक्ति के साथ संबद्ध करें, आदि। आपके एसपी को उसी सेट पर एक कर्सर खोलने की आवश्यकता होगी जो इसे पहली पंक्ति के रूप में लौटाया गया था और सभी चाइल्ड रोसेट उत्पन्न करने के लिए क्रम में कई चयनों को चलाने की आवश्यकता थी। यह एक ऐसी तकनीक है जिसे मैंने किया है, लेकिन केवल वहीं जहां सभी डेटा की वास्तव में आवश्यकता थी (उदाहरण के लिए, पूरी तरह से आबादी वाले ट्री व्यू में)।
और लोग जो कहते हैं, उसकी परवाह किए बिना, क्लाइंट-साइड करना अक्सर बैंडविड्थ की एक बहुत बड़ी बर्बादी होती है, क्योंकि सभी पंक्तियों को वापस करना और क्लाइंट साइड में लूपिंग और ब्रेकिंग करने का मतलब है कि शुरुआत में बड़ी संख्या में समान कॉलम स्थानांतरित किए जा रहे हैं। प्रत्येक पंक्ति को केवल पंक्ति के अंत में बदलते कॉलम को प्राप्त करने के लिए।
आप इसे कहीं भी करें, यह एक सूचित निर्णय . होना चाहिए आपके . पर आधारित केस का उपयोग करें।