在TSQL我怎么可以把这个示例表:TSQL - 创建基于字段值列和复制行
ID FIELDNO ROWNO VALUE
ABC 2 1 Cat1Val1
ABC 2 2 Cat1Val2
ABC 2 3 Cat1Val3
ABC 3 1 Cat2Val1
ABC 3 2 Cat2Val2
ABC 5 1 Cat3Val1
到将创建一个基于fieldno三列的表格,复制行,以便它列出了哪个fieldno具有最高rowNo的所有可能的变体?
所以fieldno 2将成为CAT1,3 - > CAT2和5 - > CAT3
预期结果:
ID CAT1 CAT2 CAT3
ABC Cat1Val1 Cat2Val1 Cat3Val1
ABC Cat1Val1 Cat2Val2 Cat3Val1
ABC Cat1Val2 Cat2Val1 Cat3Val1
ABC Cat1Val2 Cat2Val2 Cat3Val1
ABC Cat1Val3 Cat2Val1 Cat3Val1
ABC Cat1Val3 Cat2Val2 Cat3Val1
然后我可以以此为基础的加盟与其他表。
这里是一个fiddle与更多的数据。
我试图创建一些CASE WHEN子句,但我认为这是行不通的。
希望你能告诉我如何解决这个问题。
谢谢。
你能解释一下为什么你需要在这个格式的数据?看起来非常不寻常的是,你将首先用这种方式去规范化,然后加入到其他表中。 –