我有一个以“用户名”,“品牌”和“值”为列的表。每个经理及其同事对最大3个品牌负责,并且这些品牌可以随经理而变化。现在,用户名,品牌及其值采用以下行格式。
User Name Brand Name Value
User 1 Puma 10
User 1 Adidas 20
User 1 Nike 30
User 2 Puma 40
User 2 Adidas 50
User 2 Nike 60
User 3 Puma 70
User 3 Adidas 80
User 3 Nike 90
使用我在下面实现的“案例分析”,但是问题是,这些品牌可能会根据经理而改变。例。经理-1可以负责彪马,耐克,阿迪达斯,但经理-2可以负责X,Y,Z品牌。
User Name Brand -1 Brand -2 Brand -3
User 1 10 20 30
User 2 40 50 60
User 3 70 80 90
我想要的状态是按如下所示的列格式获取品牌名称。
对于经理-1
User Name PUMA ADIDAS NIKE
User 1 10 20 30
User 2 40 50 60
User 3 70 80 90
对于Manager -2
User Name X Y Z
User 1 10 20 30
User 2 40 50 60
User 3 70 80 90
我希望将实际的3个品牌名称作为动态列而不是Brand-1,Brand-2,Brand -3。我可以对这些品牌名称进行硬编码,但正如我所说的那样,每个经理可能会有所不同,但有时一个经理会有所不同。
答案 0 :(得分:0)
可以通过多种方式实现数据透视
1)使用枢轴功能 2)使用XML功能 3)动态SQL 4)使用光标
假设您正在使用Oracle SQL数据库,则以上所有内容均适用,请对以上内容进行更多调查。如果不是上述情况,那么上述几种方法中的几种将与您的数据库工具的其他选项一起适用。