从另一个 table 反透视列
Unpivot columns from another table
我已经使用 Unpivot 从我试图操作的 table 中获取数据。我使用此查询将我的列重新排列为行;
SELECT Id, ownername, ownervalue
FROM Contacts UNPIVOT (ownervalue FOR ownername IN (column1, column2, column3)) unpiv;
效果很好。但是,我更愿意从另一个 table 获取我的列名,而不是在查询中对它们进行硬编码。理想情况下我会喜欢这个,但它不起作用;
SELECT Id, ownername, ownervalue
FROM Contacts UNPIVOT (ownervalue FOR ownername IN (SELECT * FROM ColumnsTable)) unpiv;
是否可以像这样从另一个 table 获取我的列列表?
据我所知(如果我错了请纠正我)如果不使用动态查询是不可能使用动态列名的,例如 exec
.
看看下面的问题unpivot with dynamic columns plus column names
我已经使用 Unpivot 从我试图操作的 table 中获取数据。我使用此查询将我的列重新排列为行;
SELECT Id, ownername, ownervalue
FROM Contacts UNPIVOT (ownervalue FOR ownername IN (column1, column2, column3)) unpiv;
效果很好。但是,我更愿意从另一个 table 获取我的列名,而不是在查询中对它们进行硬编码。理想情况下我会喜欢这个,但它不起作用;
SELECT Id, ownername, ownervalue
FROM Contacts UNPIVOT (ownervalue FOR ownername IN (SELECT * FROM ColumnsTable)) unpiv;
是否可以像这样从另一个 table 获取我的列列表?
据我所知(如果我错了请纠正我)如果不使用动态查询是不可能使用动态列名的,例如 exec
.
看看下面的问题unpivot with dynamic columns plus column names