【问题标题】:SQL - Concat multiple rows into 1 on a join [duplicate]SQL - 在连接上将多行合并为 1 [重复]
【发布时间】:2018-02-22 11:52:23
【问题描述】:

所以我有 2 个表格,如下所示:

元数据

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

查找

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

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

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

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

【问题讨论】:

    标签: sql sql-server string-aggregation


    【解决方案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;
    

    在早期版本中,它更复杂。您可以在 Google 上搜索“SQL Server 字符串聚合”并获取大量示例。

    【讨论】:

    • 有一个错字 - string_agg() 从 2017 年开始工作。
    • @Abhishek 。 . .谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 2018-01-11
    相关资源
    最近更新 更多