Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Pripravte si údaje, ktoré chcete zlúčiť nasledujúci formát nasledujúceho príkladu pre SalesArchive tabuľke :
" CREATE TABLE SalesArchive klipart
(
CustomerID INT PRIMARY KEY ,
SalesDate INT ,
TotalSalesAmount PENIAZE ,
TotalSalesCount SMALLINT ,
CreationDate DATETIME OBMEDZENIA df_CreationDate DEFAULT ( getDate ( ) ) ,
UpdatedDate DATETIME OBMEDZENIA df_UpdatedDate DEFAULT ( getDate ( ) )
)
CREATE TABLE SalesFeed
(
CustomerID INT , .
Katalóg VARCHAR ( 10 ) ,
SaleAmount PENIAZE
) "
2
Zadajte informácie o formátovaní je podobne ako tento príklad :
" INSERT INTO SalesFeed
( KódZákazníka , Produkt , SaleAmount ) Spojené
HODNOTY
( 1 , ' pooltable " , 1000 ) ,
( 2 , ' Bigscreen ' , 955 ) ,
( 3 , ' počítač ' , 590 ) ,
( 4 , ' Bigscreen ' , 880 ) ,
. ( 5 , ' Hostiteľ' , 700 ) "
3
zlúčiť dáta po zadaní príkazu na základe tejto vzorky :
" MERGE SalesArchive AS SA
POUŽÍVANIE (
SELECT
ČísloZákazníka ,
LoadDate = MIN ( CONVERT ( VARCHAR ( 8 ) , getDate ( ) , 112 ) ) ,
TotalSalesAmount = SUM ( SaleAmount ) ,
TotalSalesCount = COUNT ( * ) FROM
SalesFeed
GROUP BY CustomerID
) AS SalesFeedCTE ( CustomerID , LoadDate , TotalSalesAmount , TotalSalesCount )
ON
(
SA.CustomerID = SalesFeedCTE.CustomerID A SA.SalesDate = SalesFeedCTE.LoadDate
)
Ak nie je zodpovedajúca POTOM
INSERT ( CustomerID , SalesDate , TotalSalesAmount , TotalSalesCount , CreationDate , UpdatedDate )
VALUES ( SalesFeedCTE.CustomerID , SalesFeedCTE.LoadDate , SalesFeedCTE.TotalSalesAmount , SalesFeedCTE.TotalSalesCount , getDate ( ) , getDate ( ) )
Keď zodpovedajúce THEN
UPDATE
SET SA.TotalSalesAmount = SA.TotalSalesAmount + SalesFeedCTE.TotalSalesAmount ,
SA . TotalSalesCount = SA.TotalSalesCount + SalesFeedCTE.TotalSalesCount ,
SA.UpdatedDate = getDate ( ) ; . "
ste teraz zlúčené informácie v SQL Server 2008
< . br >
Copyright © počítačové znalosti Všetky práva vyhradené