将数据导出到另一个SQL

问题描述:

这是我与合作:将数据导出到另一个SQL

Select fields 1-24 dbo.tablename where multiple !=2; 

然而,在原始表,表名,一些字段标题不同。这是一项正在进行的工作,因此可以赦免一些无效率。一个例子是第六列/字段,其标题为tablename中的xacct,但结果中标题为xaccount。

简而言之:是否可以设置一个如上所示的命令,并且在离开数据时仍然占用不同的字段名称,并且其类型不变?

+1

[Insert into ... values(SELECT ... FROM ...)](https://*.com/questions/25969/insert-into-values-select-from) – jmoerdyk

+0

可能重复以下代码足够了吗? INSERT INTO结果(xaccount) 从dbo.tablename中选择xacct –

如果你正在做一个插入/选择,列名是不相关的,只有顺序是重要的。如果你想在SELECT语句中重命名列,请使用标准的SQL:

SELECT field1 AS column1 
    , field2 AS column2 
    , field3 AS column3 
    , multiple AS multiply 
    FROM dbo.tablename 
WHERE multiple != 2; 

在哪里“FIELD1”是原列名,“COLUMN1”是正在提供新的名称。

您不必为所有列指定新的名字,只有那些你正在改变:

SELECT field1 AS tedd_e_bear 
    , field2   
    , field3 AS spin_fidget 
    , multiple AS multiply 
    FROM dbo.tablename 
WHERE multiple != 2; 

在上面的例子中,现场2仍然有名称域2。

+0

一个快速后续项目。我完全理解你的答案中给出的命令。但是,如果只有一些更改,我会添加那些不改变列名称的行。或者我会简单地在命令中添加一个? ,东西是东西 –

+1

@TimWilcox我添加了第二个例子,显示你只重命名你想重命名的东西。再次请记住,插入语句不要求列名是相同的,只是顺序。 –

+0

我正在使用此功能并获取以下错误: 消息213,级别16,状态1,行1 列名或提供的值数量不匹配表定义 –