Sql 通过查询从表数据生成列
我有以下表格: 表ASql 通过查询从表数据生成列,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,我有以下表格: 表A Field Name Field Value Column1 Column1value Column2 Column2value Column3 Column3value Column4 Column4value 表B Column1 Column2 Column3 Column4 Column1value Column2value Column3value Column4value 如何编写查询以从表a生成表B?您可以使
Field Name Field Value
Column1 Column1value
Column2 Column2value
Column3 Column3value
Column4 Column4value
表B
Column1 Column2 Column3 Column4
Column1value Column2value Column3value Column4value
如何编写查询以从表a生成表B?您可以使用
选择到中,下面生成的表B
将具有与源表相同的数据和列类型:
SELECT
Column1value,
Column2value,
Column3value,
Column4value
INTO TableB
FROM TableA
如果需要,可以使用下一个查询从TableA中获取列名:
SELECT
name
FROM
syscolumns
WHERE
id = (SELECT id FROM sysobjects WHERE xtype='U' and NAME='TableA')
但是如果您只想将TableA复制到TableB,请使用
SELECT
*
INTO TableB
FROM TableA
啊,好的元音数据库。。。。meta DB表中缺少一件事:哪个字段将“伪列”分组在一起,以便您知道数据属于单个实体。意思:你怎么知道姓氏史密斯和姓氏詹姆斯属于实体詹姆斯·史密斯?阿德里安,我假设在这个例子中这只是一个群体的全部。看起来最好的办法是让数据访问层生成表B。看看是否有可能编写一个查询来实现这一点。谢谢你的评论!问题是,如果有新的列,那么查询将无法工作。这些列需要从表A生成。我认为使用查询是不可能的。