Table test
| name | value |
| A | 2 |
| A | 3 |
| B | 4 |
| B | 5 |
| B | 6 |
| C | 3 |
| C | 4 |
จากตารางข้างต้น ต้องการให้คิวรี่แล้วได้ผลลัพธ์ เป็น Group by name และเรียงข้อมูล value ใหม่ตามตาราง ที่มีเครื่องหมาย จุลภาคคั่นอยู่ (,)
|
A B C |
1,2,3 4,5,6 3,4 |
ซึ่งคำสั่งในการใช้งานของ MSSQL SERVER กับ MYSQL นั้นจะไม่เหมือนกันคือ
– รูปแบบคำสั่งใน MSSQL SERVER จะใช้คำสั่ง FOR XML PATH ดังนี้
select t2.name, STUFF((SELECT distinct ','+ Cast(t.value as varchar)
FROM test t where t.name = t2.name FOR XML PATH(''), TYPE).value('.','VARCHAR(max)'), 1, 1, '') as value
from test t2
group by t2.name
select Name,group_concat(`Value` separator ',') as value
from test group by Name

