我有一个如下所示的数据表,有3列名称,最喜欢的1和2。
Name Favourite1 Favourite2
xxx Eating Cricket
yyy Books Music
我的预期输出是
Name Favourites
xxx Eating
yyy Books
xxx Cricket
yyy Music
如何制作...... :(
答案 0 :(得分:1)
在C#中使用此代码。 Merge
函数用于合并两个数据表。预期输出将在fav1
数据表中。
DataTable fav1;
fav1= ThreeColumntable.Copy();
fav1.Columns.Remove("Favourite2");
fav1.Columns[1].ColumnName = "Favourites";
DataTable fav2;
fav2= ThreeColumntable.Copy();
fav2.Columns.Remove("Favourite1");
fav2.Columns[1].ColumnName = "Favourites";
fav1.Merge(fav2);
答案 1 :(得分:0)
试试这个:
select Name, unpvt.Favourites from
(select * from @tbl) tbl
unpivot (Favourites For fields in (Favorite1, Favorite2)) as unpvt
@tbl - 是你的桌子。