2017-09-11 63 views
0

這是我與合作:將數據導出到另一個SQL

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

然而,在原始表,表名,一些字段標題不同。這是一項正在進行的工作,因此可以赦免一些無效率。一個例子是第六列/字段,其標題爲tablename中的xacct,但結果中標題爲xaccount。

簡而言之:是否可以設置一個如上所示的命令,並且在離開數據時仍然佔用不同的字段名稱,並且其類型不變?

+1

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

+0

可能重複以下代碼足夠了嗎? INSERT INTO結果(xaccount) 從dbo.tablename中選擇xacct –

回答

1

如果你正在做一個插入/選擇,列名是不相關的,只有順序是重要的。如果你想在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 列名或提供的值數量不匹配表定義 –

相關問題