【发布时间】:2018-05-27 03:33:15
【问题描述】:
我有一个包含数据的大数据表(超过 300K 行,其中包含 40 列),像这样的片段(所有值都是字符串):
colA colB colC ColD ColdE ColF ColG ColH
-------------------------------------------------- ------
A01 B01 C01 DA1 EA1 FA1 GA1 HA1
A01 B01 C01 DA2 EA2 FA2 GA2 HA2
A02 B02 C02 DA3 EA3 FA3 GA3 HA3
A02 B02 C02 DA4 EA4 FA4 GA4 HA4
A03 B03 C03 DA5 EA5 FA5 GA5 HA5
A04 B04 C04 DA6 EA6 FA6 GA6 HA6
有部分数据重复,我想通过使用 colA + ColB + ColC 作为键合并重复数据并保留 ColD ColE ColF,将第一行用于其他列。预期结果如下:
colA colB colC ColD1 colE1 colF1 colG1 ColD2 colE2 colF2 colG2 ColH
------------------------------------------------
A01 B01 C01 DA1 EA1 FA1 GA1 DA2 EA2 FA2 GA2 HA1
A02 B02 C02 DA3 EA3 FA3 GA3 DA4 EA4 FA4 GA4 HA3
A03 B03 C03 DA5 EA5 FA5 GA5 null null null null HA5
A04 B04 C04 DA6 EA6 FA6 GA6 null null null null HA6
类似于pivot,但有一些区别,我尝试在C#中使用T-SQL或LINQ,但不知道怎么做,请有人帮忙,非常感谢。
【问题讨论】: