SQL Server : Combine columns abort same values

标签 sql sql-server

我正在使用 ADO 连接 SQL Server。我有一张表,我想将一些列分组到一个列中。我需要新列中的值是不同的。

这就是我的需要

enter image description here

谢谢大家!

最佳答案

将 Excel 文件导入 SQL,以便运行查询 然后转置你的 table 。转置意味着反转列和行,例如:

+------+---------+----------+
| Name | Email1  |  Email2  |
+------+---------+----------+
|  A   | A@a.com | A@aa.com |
+------+---------+----------+ 
|  B   | B@b.com | B@bb.com |
+------+---------+----------+ 

对于这样的事情:

+---------+---------+----------+
|   Name  |    A    |     B    |
+---------+---------+----------+
|  Email1 | A@a.com | B@b.com  |
+---------+---------+----------+ 
|  Email2 | A@aa.com| B@bb.com |
+---------+---------+----------+ 

这里描述的方式:Simple way to transpose columns and rows in Sql?

然后您可以轻松SELECT DISTINCT [A] FROM [MyTable](对于每个人的每一列),并将其插入到具有单列的临时表中。
然后:

SELECT  STUFF((
        SELECT ', ' + [temptablecolumn]
        FROM #temptable
        FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')

此查询会给出以下结果:A@a.com, A@aa.com

关于SQL Server : Combine columns abort same values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53081131/

相关文章:

mysql - 在 Ruby 中比较两个数组并创建第三个元素数组

mysql - 如何在 MySQL 中返回数据透视表输出?

sql - 查询不像sql

sql-server - SQL Server : How to call a user-defined function (UDF) on linked server?

mysql - 将数据复制到其他字段的 SQL 查询

sql - 如何判断sql表是否是Temporal表?

MySQL 查询语句错误

sql - 使用动态行和列创建 PIVOT - SQL Server 2016

c# - SqlBulkCopy 是否在环境事务中登记?

SQL SERVER - 月份的排名/行数