Sql 将一个表中的列值连接到另一个表中新列中的行

Sql 将一个表中的列值连接到另一个表中新列中的行,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在尝试在SQLServer2008中编写一个SQL查询,该查询将把单个查询中的列值匹配到表中的一个新列中,列标题存储为行值 我有两个问题: 钥匙 价值 COL01 25 COL02 71 COL03 13 嗯。我建议取消激励并加入: select t1.*, t2.val from table2 t2 cross join (values (t2.col01, 'col01'), (t2.col02, 'col02'), (t2.col03, 'col03') ) v(v

我正在尝试在SQLServer2008中编写一个SQL查询,该查询将把单个查询中的列值匹配到表中的一个新列中,列标题存储为行值

我有两个问题:

钥匙 价值 COL01 25 COL02 71 COL03 13
嗯。我建议取消激励并加入:

select t1.*, t2.val
from table2 t2 cross join
     (values (t2.col01, 'col01'), (t2.col02, 'col02'), (t2.col03, 'col03')
     ) v(val, which) join
     table1 t1
     on t2.which = t1.key;

您为什么使用不受支持的软件?请向我们展示您迄今为止的尝试。