如何通过多个唯一ID号制作数据透视表?

时间:2017-09-22 04:44:35

标签: mysql sql pivot pivot-table

我试图打破一个需要获取用户名的SQL表,并从最多4个系统中找到唯一的用户ID。

目前数据如下:

| Name | User_ID |
-----------------
|  A   |    10   |
|  A   |   110   |
|  A   |  1500   |
|  A   |   4     |
|  B   |   20    |
|  B   |   100   |
|  B   |   2     |
|  C   |   10    |

我需要围绕用户的名称进行调整,使其看起来像这样(ID不需要按照数字顺序排列,因为每个人的SYS#_ID都没有物):

| Name | SYS1_ID | SYS2_ID | SYS3_ID | SYS4_ID |
------------------------------------------------
|  A   |    4    |    10   |   110   |   1500  |
|  B   |    2    |    20   |   100   |   NULL  | 
|  C   |    10   |   NULL  |   NULL  |   NULL  |

这是我在MySQL上尝试过的代码:

PIVOT(    
      COUNT(User_ID)
      FOR Name
      IN (SYS1_ID, SYS2_ID, SYS3_ID, SYS4_ID)
     )
AS  PivotedUsers
ORDER BY PivotedUsers.User_Name;

我不确定PIVOT是否适用于MySQL,因为我一直收到错误" PIVOT未知"。有没有办法找到每个用户拥有的值,如果它们没有出现在表中,已经将它们添加到最多4个值的下一列?

0 个答案:

没有答案