0
비슷한 데이터를 가진 두 개의 테이블이 있고 한 테이블의 값과 날짜가 다른 테이블의 값을 비교해야합니다.두 테이블 중 하나의 날짜를 기준으로 두 테이블의 값을 비교합니까?
예 테이블 :
CREATE TABLE [data].[ProfileReconciliation] (
[ProfileName] varchar(100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[OriginalFeedDate] datetime NOT NULL ,
[AggregationDate] datetime NOT NULL ,
[TotalDescription] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[TotalSalesAmount] decimal(18,2) NOT NULL ,
[LoadKey] int NULL
)
ON [DATA]
GO
CREATE TABLE [data].[Aggregation] (
[ColumnName] varchar(100) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[dataDate] date,
[profileDate] datetime ,
[aggregationType] varchar(200) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[dataValue] decimal(18,2) NOT NULL ,
)
ON [DATA]
GO
는 그래서,
Aggregation
테이블의
dataValue
요구는
ProfileReconciliation
테이블의
TotalSalesAmount
비교합니다.
Aggregation
테이블의
dataDate
은
ProfileReconciliation
테이블의
AggregationDate
과 일치합니다. ProfileReconciliation 테이블에는 일일 피드의 데이터 만 포함되므로 ProfileReconciliation에있는 날짜와 집계 테이블을 비교하면됩니다. 나는 각 테이블의 값이 같은지 날씨를 나타내야하고 그렇지 않다면 나는 그렇게 표시하는 플래그를 보여줄 필요가있다. dataDate가 AggregationDate에있는 집계 테이블에서 데이터를 선택하여 시작했습니다. 분명히 AggregationDate를 캐스팅해야합니다. 나는 다음에 머리를 쓸지, 아니면 최선의 접근 방식이 무엇인지에 대한 단서가 없습니다.
예 데이터 : 그래서 당신은 금액 그래서 우리는 TEH 결과는 다음과 같이 할 wwould 일치하지 않는 볼 수
SPVData.fact.DayStoreProdCost 2012-10-07 2012-10-09 09:06:20.9167944 20970788.131400
SPVData.fact.DayStoreProdExtra 2012-10-07 2012-10-09 09:03:19.1558724 70642458.910000
: 집계 테이블에서 ProfileReconciliation 테이블
OPDCost 2012-10-08 17:43:51.000 2012-10-07 00:00:00.000 SUM(Total_Net_Cost_Amt) 21323923.00 5307
OPDS 2012-10-08 17:43:51.000 2012-10-07 00:00:00.000 SUM(Total_Net_Sales_Amt) 70753228.00 5307
에서 :
**ProfileName Date ProfileAmount AggregationAmount Equal**
OPDCost 2012-10-07 00:00:00.000 21323923.00 20970788.13 0
OPDS 2012-10-07 00:00:00.000 70753228.00 70642458.91 0
샘플 데이터와 원하는 결과를 보여주십시오. 단어 문제는 사람들에게 학교를 상기시킵니다. –