如何连接2个与另一个表具有相同列的表?

时间:2017-12-07 16:22:20

标签: sql sql-server sql-server-2014

如标题中所提到的,我想加入2个与另一个表具有相同列的表,这是架构:DATABASE Architecture

每个“transac”表代表一个月度交易,实际上我有2个“transac”表,其中包含2017年09月和2017年的2017年交易,它们与每个国家/地区的国家和地区有关。

我的要求是计算每张表“transac_EUR_M09_17”&的单位总和。 “transac_EUR_M10_17”按国家和地区分组,以便按月按国家和地区分列销售额(M09和M10 2017)。

我尝试了以下请求,但总和非常高,我认为这是一个关节问题或对架构的误解,这里是SQL SERVER请求:

 SELECT 

    cntry.country,rg.nom_region,SUM(tr09 .unite) as "sum units
    M09 ",SUM(tr10 .unite) as "sum units M10 "   

    FROM

    [Backup].[dbo].[transac_EUR_M09_17] as tr09    
    JOIN
    [Backup].[dbo].[COUNTRY] as cntry    ON tr09.[cod_country] =
    cntry.[cod_country]    JOIN [Backup].[dbo].Region as rg   
    ON rg.[cod_country] = cntry.[cod_country]    JOIN
    [Backup].[dbo].[transac_EUR_M10_17] as tr10    ON tr10.[cod_country] =
    cntry.[cod_country] 

    where tr09 .cod_region = rg.cod_region and tr10 .cod_region = rg.cod_region

    Group BY cntry.country,rg.nom_region    ORDER BY SUM(tr09 .unite)  asc

结果: Query Result

正如您所看到的,数字非常高。

我找到了一个部分解决方案,它是自己提取每个表,但它不是一个相关的解决方案,尤其是当我添加大量的transac表时。

我如何克服这个问题,这样我就可以从transac表中提取尽可能多的总和?

0 个答案:

没有答案