我有一些数据以以下格式存储在表格中
BatchID EntityChanged ChangeValue EERS ABC DEF EERS ABCD XYZ EERS Something SomeValue New Batch SomethingMore GHI
可以显示在“ EntityChanged”列中的值的列表是有限的,事先已知,并且其中没有空格等。为了争辩,让我们说这个列表是- ABC,ABCD,something,somethingMore
然后对于上面的数据集,我想要一个输出
BatchID ABC ABCD Something SomethingMore EERS DEF XYZ SomeValue NULL New Batch NULL NULL NULL GHI
使用Pivot,我只能走得那么远。
有人可以帮我按期望的方式分割这些数据吗?
试试这个:
SELECT BatchID, MAX(CASE WHEN EntityChanged = 'ABC' THEN ChangeValue END) 'ABC', MAX(CASE WHEN EntityChanged = 'ABCD' THEN ChangeValue END) 'ABCD', MAX(CASE WHEN EntityChanged = 'Something' THEN ChangeValue END) 'Something', MAX(CASE WHEN EntityChanged = 'SomethingMore' THEN ChangeValue END) 'SomethingMore' FROM YourTable t GROUP BY BatchID