आपने प्रश्न को sql-server और plsql दोनों के साथ टैग किया है, इसलिए मैं SQL सर्वर और Oracle दोनों के लिए उत्तर प्रदान करूंगा।
SQL सर्वर में आप FOR XML PATH
का उपयोग कर सकते हैं कई पंक्तियों को एक साथ जोड़ने के लिए:
select distinct t.[user],
STUFF((SELECT distinct ', ' + t1.department
from yourtable t1
where t.[user] = t1.[user]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,2,'') department
from yourtable t;
देखें SQL Fiddle with Demo ।
Oracle 11g+ में आप LISTAGG
. का उपयोग कर सकते हैं :
select "User",
listagg(department, ',') within group (order by "User") as departments
from yourtable
group by "User"
देखें SQL Fiddle with Demo
Oracle 11g से पहले, आप wm_concat
. का उपयोग कर सकते थे समारोह:
select "User",
wm_concat(department) departments
from yourtable
group by "User"