У меня есть существующая таблица, в которой хранятся данные, полученные мной с другого сервера.SQL Server: копирование данных из столбцов в другую таблицу со многими столбцами
Теперь я хочу скопировать эти данные в одну таблицу, где это будет моя финальная таблица, где я мог бы выполнить операцию CRUD.
Кулак таблица (справочная база данных), чтобы восстановить мой TempTable - OK
INSERT INTO [PFTracking].[dbo].[TempTable]
SELECT
c.[pf_id]
,a.[RequestDate]
,c.[pf_carrierUsed]
,b.[PiecePrice] * b.[PartQuantity] as [Amount]
,c.[pf_type]
,c.[pf_resSupplier]
,c.[pf_resCustomer]
,c.[pf_trailerNum]
,b.[PartDesc]
,c.[pf_chargeBack]
,c.[pf_chargetoPlant]
FROM
[CNCTC-WEB01].[NOP_PR].[dbo].[Requests] a
JOIN
[CNCTC-WEB01].[NOP_PR].[dbo].[Parts] b on a.[RequestID] = b.[RequestID]
JOIN
[PHRIZ-WEBAPP01].[PFTracking].[dbo].[Tbl_PFExcel] c ON b.[PartNumber] LIKE '%' + c.pf_id + '%'
WHERE
a.[EntityName] LIKE '%PTA'
AND a.[RequestDate] BETWEEN '2015-04-20 00:00:00.000' AND GETDATE()
и теперь .. так как мой TempTable
состоит из следующих столбцов:
[PTAID]
,[RequestDate]
,[ProvName]
,[Amount]
,[INorOUT]
,[Supplier]
,[Customer]
,[Program]
,[IssueDesc]
,[Chargeable]
,[Company]
я попытался сделать эту команду:
INSERT INTO [PFTracking].[dbo].[UserInput]
SELECT
[PTAID]
,[RequestDate]
,[ProvName]
,[Amount]
,[INorOUT]
,[Supplier]
,[Customer]
,[Program]
,[IssueDesc]
,[Chargeable]
,[Company]
FROM [PFTracking].[dbo].[TempTable]
и это одна:
INSERT INTO [PFTracking].[dbo].[UserInput]
SELECT *
FROM [PFTracking].[dbo].[TempTable]
Но все, что я получил это ошибка:
Msg 213, Level 16, State 1, Line 3
Insert Error: Column name or number of supplied values does not match table definition.
Любая идея, как решить мою проблему?
сообщение об ошибке ОЧЕНЬ явное. –
[Плохие привычки пинать: используя SELECT */опустить список столбцов] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/10/bad-habits-to-kick-using-select-omitting -the-column-list.aspx) –