0
안녕하세요. 다음 스크립트를 삽입하여 작업을 삽입하려면 어떻게해야합니까? 먼저 표가 존재하는 경우 표가 존재하는지 확인한 다음 표에만 삽입하십시오. 표가 아직 표에없는 경우 표에 삽입하고 싶습니다. 그렇지 않으면 테이블을 선택하십시오.SQL 2008 - 날짜가 이미 존재하지 않으면 표에 삽입하십시오.
DECLARE @date1 datetime
DECLARE @date2 datetime
DECLARE @dailyEnd1 varchar(12)
DECLARE @dailyEnd2 varchar(12)
DECLARE @column varchar(100)
DECLARE @Script varchar(8000)
SET @date1 = '09 jan 2012'
SET @date2 = '15 jan 2012'
SET @dailyEnd1 = @date1
SET @dailyEnd2 = @date2
IF OBJECT_ID('tempdb..#table1') is not null
BEGIN
IF NOT EXIST (SELECT MinDate, MaxDate FROM #table1
WHERE MinDate = '02 Jan 2012' AND MaxDate = '08 jan 2012'
GROUP BY MinDate, MaxDate)
BEGIN
INSERT INTO #table1 (MinDate, MaxDate, [Week], OutletID, OutletName, Transactions, Spend)
SELECT min(dailyEnd-1), max(dailyEnd-1),
convert(varchar(12),Min(dailyEnd-1), 104)+'-'+convert(varchar(12),MAX(dailyEnd-1),104),
OutletID, OutletName,
sum(Transactions), sum(Sales)
FROM #table2 (NOLOCK)
WHERE dailyEnd-1 >= @dailyEnd1
AND dailyEND-1 <= @dailyEnd2
GROUP BY OutletID, OutletName
END
END
ELSE
BEGIN
SELECT min(dailyEnd-1) as MinDate, max(dailyEnd-1) as MaxDate,
convert(varchar(12),Min(dailyEnd-1), 104)+'-'+convert(varchar(12),MAX(dailyEnd-1),104) as [Week], OutletID, OutletName, sum(Transactions) as Transactions, sum(Sales) as Spend
INTO #table1
FROM #table2 (NOLOCK)
WHERE dailyEnd-1 >= @dailyEnd1
AND dailyEND-1 <= @dailyEnd2
GROUP BY OutletID, OutletName
END
감사
'존재하지 않는다면'존재하는 날짜를 확인해 보면'MinDate'와'MaxDate'의 값을 하드 코딩 했습니까? – Tony