SQL 存储将数据查询到一个表(临时或非临时)
本文关键字:一个 存储 数据查询 SQL | 更新日期: 2023-09-27 17:56:07
我正在查询来自两个不同服务器的数据,现在我想将其存储在另一个表中,以便我可以将其用作程序中的参考表。(我在编程中使用 ASP.NET)
看看我的命令,请告知该怎么做。
SELECT c.[pf_id]
,a.[RequestDate]
,c.[pf_carrierUsed]
,b.[PiecePrice] * b.[PartQuantity]
,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()
此查询的结果是我想存储在另一个表中以便我可以使用它的结果。
附加:
当我都使用temp_tables时,我总是得到:
String or binary data would be truncated.
如果您的
表存在,则可以使用INSERT
后跟SELECT
,也可以使用SELECT INTO
来创建新表。
看
INSERT INTO tempTable
SELECT c.[pf_id]
,a.[RequestDate]
,c.[pf_carrierUsed]
,b.[PiecePrice] * b.[PartQuantity] AS totalPrice
,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()
或
SELECT c.[pf_id]
,a.[RequestDate]
,c.[pf_carrierUsed]
,b.[PiecePrice] * b.[PartQuantity] As TotalPrice
,c.[pf_type]
,c.[pf_resSupplier]
,c.[pf_resCustomer]
,c.[pf_trailerNum]
,b.[PartDesc]
,c.[pf_chargeBack]
,c.[pf_chargetoPlant]
INTO tempTable
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()
编辑:select into
将自动创建 tempTable 将全部列并使其可供使用。
您可以即时创建临时表,然后重复使用它:
select * into #someName
from someTable
join someOtherTable
...
where ...
如果您已经有一个表,那么只需insert select
语句
insert into alreadyCreatedTable
select *
from someTable
join someOtherTable
...
where ...