我用完了要合并下表的解决方案。请协助。谢谢。
oauth/authorize
上面是我选择的表格,我想在列表中显示的内容如下所示。
InvoiceNo FileNo
00001 A001
00002 A001
非常感谢您的帮助!
答案 0 :(得分:2)
SQL服务器版本
您可以使用STUFF
功能。
SELECT STUFF((
SELECT ',' + InvoiceNo
FROM T
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') as 'InvoiceNo' ,FileNo
FROM T
GROUP BY FileNo
sqlfiddle:http://sqlfiddle.com/#!18/5028e/8
Oracle版本
您可以使用LISTAGG
功能。
SELECT
LISTAGG(InvoiceNo, ', ') WITHIN GROUP (ORDER BY InvoiceNo) InvoiceNo,
FileNo
FROM t
GROUP BY FileNo
http://sqlfiddle.com/#!4/5028e/2
[结果] :
| INVOICENO | FILENO |
|--------------|--------|
| 00001, 00002 | A001 |
答案 1 :(得分:1)
如果mysql,则使用group_concat函数
SELECT FileNo,GROUP_CONCAT(InvoiceNo) as InvoiceNo
FROM your_table
GROUP BY FileNo;