SQL - 在连接上将多个行Concat转换为1

时间:2018-02-22 11:52:23

标签: sql sql-server string-aggregation

所以我有两张表,如下所示:

元数据

Id       | Value
---------------------
1       | 5
1       | 6
2       | 6

查找

Value    | Text
---------------------
5       | Car
6       | Truck

我需要一个查询来从MetaData中提取Id以及从Lookup中提取文本 例如。

Id | Text
---------
1  | Car, Truck
2  | Truck

关于我如何做到这一点的任何想法? 谢谢!

1 个答案:

答案 0 :(得分:1)

在SQL Server 2017中,您将使用string_agg()

select id, string_agg(l.test, ', ')
from metadata m join
     lookup l
     on m.value = l.value
group by m.id;

在早期版本中,它更复杂。你可以谷歌" SQL Server字符串聚合"并获得了许多关于该做什么的例子。