2015-02-23 3 views
-1

У меня есть один запрос, который извлекает данные из таблицы, и мне нужно затем привести результаты в другую таблицу в другой базе данных. Вот мой запрос для получения данных.Вставка в таблицу из результатов запроса

with 
    BARCODEINNER(name, CODE, BARCODE_INNER) as 
       (select 
        STOCKITEM.NAME, 
        STOCKITEM.CODE, 
        left(STOCKITEMPRICE.PRICE, 12) as EXPR1 
       from [ PENNINE 2009 ] .DBO.PRICEBAND 
       inner join [ PENNINE 2009 ] .DBO.STOCKITEMPRICE on PRICEBAND.PRICEBANDID = STOCKITEMPRICE.PRICEBANDID 
       inner join [ PENNINE 2009 ] .DBO.STOCKITEM on STOCKITEMPRICE.ITEMID = STOCKITEM.ITEMID 
       where (PRICEBAND.PRICEBANDID = '5045261')), 
    BARCODEOUTER(CODE, BARCODE_OUTER) as 
       (select 
        STOCKITEM_1.CODE, 
        left(STOCKITEMPRICE_1.PRICE, 12) as EXPR1 
       from [ PENNINE 2009 ] .DBO.PRICEBAND as PRICEBAND_1 
       inner join [ PENNINE 2009 ] .DBO.STOCKITEMPRICE as STOCKITEMPRICE_1 on PRICEBAND_1.PRICEBANDID = STOCKITEMPRICE_1.PRICEBANDID 
       inner join [ PENNINE 2009 ] .DBO.STOCKITEM as STOCKITEM_1 on STOCKITEMPRICE_1.ITEMID = STOCKITEM_1.ITEMID 
       where (PRICEBAND_1.PRICEBANDID = '5048507')) 
select 
    BARCODEINNER.CODE   as PRODUCTCODE, 
    BARCODEINNER.NAME   as DESCRIPTION, 
    BARCODEINNER.BARCODE_INNER as BARCODESINGLE, 
    BARCODEOUTER.BARCODE_OUTER as BARCODEPACK 
from BARCODEINNER as BARCODEINNER 
inner join BARCODEOUTER as BARCODEOUTER on BARCODEINNER.CODE = BARCODEOUTER.CODE 
order by BARCODEINNER.CODE 

, поэтому я хочу, чтобы принять результирующий набор из этого запроса, а затем положить его в эту базу данных

INSERT INTO [Label Software].dbo.[Label Information] 

Как я могу добиться этого?

+1

Вы посмотрели онлайн-справку для INSERT? ... –

ответ

1

Являются ли обе базы данных на одном сервере?

Если да, то в значительной степени ответили на свой вопрос там ...

Вы пробовали это?

WITH BarCodeInner(Name, Code, Barcode_Inner) AS 
(SELECT StockItem.Name, 
     StockItem.Code, 
     LEFT(StockItemPrice.Price, 12) AS Expr1 
FROM [Pennine 2009].dbo.PriceBand 
INNER JOIN [Pennine 2009].dbo.StockItemPrice ON PriceBand.PriceBandID = StockItemPrice.PriceBandID 
INNER JOIN [Pennine 2009].dbo.StockItem ON StockItemPrice.ItemID = StockItem.ItemID 
WHERE (PriceBand.PriceBandID = '5045261')), 
    BarCodeOuter(Code, Barcode_Outer) AS 
(SELECT StockItem_1.Code, 
     LEFT(StockItemPrice_1.Price, 12) AS Expr1 
FROM [Pennine 2009].dbo.PriceBand AS PriceBand_1 
INNER JOIN [Pennine 2009].dbo.StockItemPrice AS StockItemPrice_1 ON PriceBand_1.PriceBandID = StockItemPrice_1.PriceBandID 
INNER JOIN [Pennine 2009].dbo.StockItem AS StockItem_1 ON StockItemPrice_1.ItemID = StockItem_1.ItemID 
WHERE (PriceBand_1.PriceBandID = '5048507')) 
INSERT INTO [Label Software].dbo.[Label Information](Name, Code, Barcode_Inner) 
SELECT BarCodeInner.Code AS ProductCode, 
    BarCodeInner.Name AS Description, 
    BarCodeInner.Barcode_Inner AS BarcodeSingle, 
    BarCodeOuter.Barcode_Outer AS BarcodePack 
FROM BarCodeInner AS BarCodeInner 
INNER JOIN BarCodeOuter AS BarCodeOuter ON BarCodeInner.Code = BarCodeOuter.Code 
0

Просто поместите линию INSERT INTO [Label Software].dbo.[Label Information] перед вашим запросом.

0

вы можете попробовать что-то вроде этого:

WITH BarCodeInner(Name, Code, Barcode_Inner) AS 
(SELECT StockItem.Name, 
     StockItem.Code, 
     LEFT(StockItemPrice.Price, 12) AS Expr1 
FROM [Pennine 2009].dbo.PriceBand 
INNER JOIN [Pennine 2009].dbo.StockItemPrice ON PriceBand.PriceBandID = StockItemPrice.PriceBandID 
INNER JOIN [Pennine 2009].dbo.StockItem ON StockItemPrice.ItemID = StockItem.ItemID 
WHERE (PriceBand.PriceBandID = '5045261')), 
    BarCodeOuter(Code, Barcode_Outer) AS 
(SELECT StockItem_1.Code, 
     LEFT(StockItemPrice_1.Price, 12) AS Expr1 
FROM [Pennine 2009].dbo.PriceBand AS PriceBand_1 
INNER JOIN [Pennine 2009].dbo.StockItemPrice AS StockItemPrice_1 ON PriceBand_1.PriceBandID = StockItemPrice_1.PriceBandID 
INNER JOIN [Pennine 2009].dbo.StockItem AS StockItem_1 ON StockItemPrice_1.ItemID = StockItem_1.ItemID 
WHERE (PriceBand_1.PriceBandID = '5048507')) 
SELECT BarCodeInner.Code AS ProductCode, 
    BarCodeInner.Name AS Description, 
    BarCodeInner.Barcode_Inner AS BarcodeSingle, 
    BarCodeOuter.Barcode_Outer AS BarcodePack 

INTO [Label Software].dbo.[Label Information] 

FROM BarCodeInner AS BarCodeInner 
INNER JOIN BarCodeOuter AS BarCodeOuter ON BarCodeInner.Code = BarCodeOuter.Code 
ORDER BY BarCodeInner.Code 

до тех пор, как эти две базы данных находятся на одном экземпляре. Если нет, попробуйте использовать связанный сервер, чтобы сделать то же самое.

Смежные вопросы