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

एसक्यूएल, शामिल होने के बारे में प्रश्न

दुर्भाग्य से, SQL सर्वर में इसे करने का कोई आसान तरीका नहीं है। ज्ञात समाधान हैं:

  • xml ट्रिक (नीचे देखें);
  • डेटा संचय करने के लिए चर का उपयोग करना (एकाधिक समूह पंक्तियों के लिए काम न करें, केवल कर्सर के साथ);
  • कस्टम CLR एग्रीगेट;

यहाँ एक्सएमएल है:

select
    n.name1,
    stuff(
        (
         select ', ' + p.product
         from prod as p
         where p.id_name = n.id
         for xml path(''),  type).value('.', 'nvarchar(max)')
    , 1, 2, '') as products
from name as n

sql fiddle डेमो

यहाँ चर है:

declare @product nvarchar(max), @id int

select @id = 1

select @product = isnull(@product + ', ', '') + product
from prod
where id_name = @id

select name1, @product as products
from name 
where id = @id

sql fiddle डेमो



  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 Server 2008 R2 में विंडो फ़ंक्शन के साथ समस्या

  2. पैरामीटर varbinary डेटाटाइप में शून्य मान

  3. IN ऑपरेटर SQL

  4. स्क्रिप्ट संपूर्ण डेटाबेस SQL-सर्वर

  5. SQL सर्वर में XML सम्मिलित करते समय एन्कोडिंग त्रुटि को स्विच करने में असमर्थ कैसे हल करें?