表1(历史数据)
SiteName OutcomeType SpeciesType Count DateType
-------------------------------------------------------------
S1 Adopted Dog 3 0
S2 Adopted Cat 12 0
S1 Transferred Puppy 2 0
S1 Transferred Dog 5 0
表2(当前数据)
SiteName OutcomeType SpeciesType Count DateType
--------------------------------------------------------------
S1 Adopted Dog 9 1
S2 Adopted Dog 10 1
S1 Transferred Dog 12 1
** DateType:0 - 表示历史日期,1-当前日期
我将上面的2个表数据合并到1个表中,并将其称为主表(它是存储过程中的临时表)。哪个会如下所示。
SiteName OutcomeType SpeciesType Count DateType
-------------------------------------------------------------
S1 Adopted Dog 3 0
S2 Adopted Cat 12 0
S1 Adopted Dog 9 1
S2 Adopted Dog 10 1
S1 Transferred Puppy 2 0
S1 Transferred Dog 5 0
S1 Transferred Dog 12 1
这里基本上我试图比较历史和当前的数据
用户将输入2个日期(例如:Oct2009,Oct2010)
现在所有数据都在1个表中提取,如上所示。
从主表中注意到(存储过程中的临时表)
站点S1有一种物种类型:Puppy,它来自历史日期
如何匹配当前表记录中的记录(物种类型Puppy中不存在的记录)。
我想在1行中显示上述记录,如下所示。
SiteName1 OutecomeType1 AgeSpecies1 Count1 History SiteName2 OutcomeType2 AgeSpecies2 Count2 Current Difference
S1 Adopted Dog 3 yes S1 Adopted Dog 9 yes 6
S1 Transferred Puppy 2 yes - - - - - -
S2 Adopted Cat 12 yes - - - - - -
S1 Transferred Dog 5 yes S1 Transferred Dog 12 yes 7
- - - - - S2 Adopted Dog 10 yes
10
答案 0 :(得分:1)
我会为每个表编写一个查询,以从该表中获取基本计数以用作派生表。然后我将使用完全外部联接将两个表连接在一起。然后从每个派生表中拉出所需的字段。只需确保派生表查询仅为每个siteName拉出一行。