Sql将数据从多列转换为一行

Sql将数据从多列转换为一行,sql,sql-server,sql-server-2008,sql-server-2005,Sql,Sql Server,Sql Server 2008,Sql Server 2005,我有一张桌子 我想将每个客户编号转换为一行,如下所示: 有人能给我指出正确的地方吗?例如,在那里我可以做类似的事情。您需要使用。类似下面的查询应该会有所帮助 SELECT CustomerNumber, CASE WHEN [1] > 0 THEN 'Y' ELSE 'N' END [Sony], CASE WHEN [2] > 0 THEN 'Y' ELSE 'N' END [LG], CASE WHEN [3] > 0 THEN 'Y' ELS

我有一张桌子

我想将每个客户编号转换为一行,如下所示:

有人能给我指出正确的地方吗?例如,在那里我可以做类似的事情。

您需要使用。类似下面的查询应该会有所帮助

SELECT CustomerNumber, 
    CASE WHEN [1] > 0 THEN 'Y' ELSE 'N' END [Sony],
    CASE WHEN [2] > 0 THEN 'Y' ELSE 'N' END [LG],
    CASE WHEN [3] > 0 THEN 'Y' ELSE 'N' END [Samsung]
FROM
(SELECT Product1, CustomerNumber
    FROM Table) AS SourceTable
PIVOT
(
    COUNT(Product1)
    FOR Product1 IN ([1], [2], [3])
) AS PivotTable;

您要寻找的关键术语是“枢轴”。我现在时间很紧,但如果今天晚些时候没有人能比我快,我可以提供一个解决方案。