将 table 的多列转换为多行,所有其他行重复

Converting multiple Columns of a table into multiple Rows with all other rows repeating

我有这样的东西

Id ddf1 ddf2 ddf3 ddf4
1 223 112 221 500

我想要这样的东西

Id ddfs
1 223
1 112
1 221
1 500

我的查询中还有其他列。所以我想要一个不影响我的其他专栏的解决方案。

你可以这样做。 查看工作 fiddle here

select id,ddfs
from yourtable t cross apply
(values ('ddf1',t.ddf1),('ddf2',t.ddf2), ('ddf3',t.ddf3) ,('ddf4',t.ddf4)) v(k,ddfs)