我有2个表中有类似的数据,我需要比较一个表和其他日期相等的值。根据2个表格之一的日期比较2个表格中的值?
实施例的表:
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中的日期与Aggregation表进行比较。我需要指出天气的每个表的值是相等的,如果不是,我需要显示一个标志表明如此。我首先从Aggregation表中选择dataDate在AggregationDate中的数据。我显然必须投下AggregationDate。我只是不知道该在哪里接下来或者最好的方法是什么。
示例数据: 从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
从汇总表:
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
因此,大家可以看到金额不匹配,所以我们wwould希望德的结果看起来像这样:
**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
请显示样本数据和期望的结果。字问题提醒人们学校。 –