【发布时间】:2015-11-19 14:47:24
【问题描述】:
大家好,我想创建一个查询,以便我可以将找到的每个重复项合并到一个条目中。
一个例子是:
Name | ID | Tag | Address |carNum
-------------------------------------------------------
Bob Barker |2054 |52377 |235 Some road |9874
Bill Gates |5630 |69471 |014 Washington Rd. |3700
Bob Barker |2054 |97011 |235 Some road |9874
Bob Barker |2054 |40019 |235 Some road |9874
Steve Jobs |8501 |73051 |100 Infinity St. |4901
John Doe |7149 |86740 |7105 Bull Rd. |9282
Bill Gates |5630 |55970 |014 Washington Rd. |3700
Tim Boons |6370 |60701 |852 Mnt. Creek Rd. |7059
在上面的示例中,Bob Barker 和 Bill Gates 都不止一次在数据库中,所以我希望输出如下:
Bob Barker|2054|52377/97011/40019 |235 Some road |9874
Bill Gates|5630|69471/55970 |014 Washington Rd.|3700
Steve Jobs|8501|73051 |100 Infinity St. |4901
John Doe |7149|86740 |7105 Bull Rd. |9282
Tim Boons |6370|60701 |852 Mnt. Creek Rd.|7059
注意 Bob Barker 和 Bill Gates 如何将标签行(重复的数据)添加到一行而不是多行。 这是因为我不想检查以前的 ID 并查看它是否与当前 ID 匹配并附加到数据中。
我希望 SQL 查询专家有一个查询来为我做这件事!
感谢您的宝贵时间和帮助!
------------------------------------------ -------------------------------------------------- --------------------------
问题已从 ACCESS DATABASE 更改为 MS SQL SERVER 2012 数据库
------------------------------------------ -------------------------------------------------- --------------------------
【问题讨论】:
-
您正在寻找聚合字符串连接函数。 MS Access 没有。这是编写此类函数的一种方法:stackoverflow.com/questions/5174362/….
-
distinct 关键字不可用吗?从表名中选择不同的 col1、col2...
-
我现在将使用 MS SQL Server 2012 进行查询,因为它的功能比 Access 更多。
-
这与制作逗号分隔列表相同(只需使用 / 代替逗号)。 SO上有很多Q+As。它是重复的。这是我的答案:stackoverflow.com/a/1785923/215752
标签: sql sql-server vb.net sql-server-2012