Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何连接SQL中列不匹配的两个表_Sql_Sql Server - Fatal编程技术网

如何连接SQL中列不匹配的两个表

如何连接SQL中列不匹配的两个表,sql,sql-server,Sql,Sql Server,我有两个不同的表,在select查询中,我需要获取另一列的总和,但这两个表都有一些相似的数据,但在查询中,输出值仍然不正常 我正在使用以下查询:- 查询1 select COUNTRY, SUM (BUDGET_SALES) AS BUDGET_SALES from ANALYSE.LCM_COMMON_BUDGET_SALES WHERE WEEK_START_DATE=@WEEK_COMMENCING_VAR group by COUNTRY 查询2 select distinc

我有两个不同的表,在select查询中,我需要获取另一列的总和,但这两个表都有一些相似的数据,但在查询中,输出值仍然不正常

我正在使用以下查询:-

查询1

select COUNTRY, SUM (BUDGET_SALES) AS BUDGET_SALES

 from ANALYSE.LCM_COMMON_BUDGET_SALES

 WHERE WEEK_START_DATE=@WEEK_COMMENCING_VAR

group by COUNTRY
查询2

select distinct cntry AS COUNTRY, SUM (B.BUDGET_SALES) AS BUDGET
 from [publish].[LCM_COMMON_HNB_WEEKLY_ACTUAL] A
 
left join ANALYSE.LCM_COMMON_BUDGET_SALES B

ON --A.bnnr=B.BANNER 
A.cntry=B.COUNTRY 
--and A.Week_End=B.WEEK_END_DATE
and A.Week_Commencing=B.WEEK_START_DATE

WHERE A.Week_Commencing=@WEEK_COMMENCING_VAR
group by cntry
查询1输出

国家 销售预算 我的 20463355.16 SG 41095952.67
最有可能的是,您的表[publish].[LCM_COMMON_HNB_WEEKLY_ACTUAL]的粒度(可能更低)与您的表Analysis.LCM_COMMON_BUDGET_SALES不同,因此我将这样做:

  • 先到同一个国家,每周去一次。您应独立验证国家/地区每周预算金额是否符合预期
  • 以相同的粒度级别联接

  • 从这里,您可以决定需要包括哪些字段。

    在查询中有一个
    不同的
    和一个
    分组依据
    可以推断出一个缺陷;您的
    分组依据
    不完整,或者不需要
    不同的
    。至于问题,预期结果将帮助我们帮助您。如果要将
    连接到表中,则某些数据必须匹配,否则您打算连接什么on@Larnu,甚至我也可以避免使用Join(尽管列country、banner、start date、Week end具有其他表的类似数据),而是可以使用Union。但是同时使用Union,我没有得到期望的输出。我尝试修改了
    groupby
    DISTINCT
    。仍然是相同的问题。谢谢:)Np。很高兴能帮上忙。
    With CountryWeeklyActual as
    (
      select Country, WEEK_START_DATE, SUM(BUDGET_SALES) as ActualBudgetSum
      from [publish].[LCM_COMMON_HNB_WEEKLY_ACTUAL]
      where WEEK_START_DATE = @WEEK_COMMENCING_VAR
      group by Country, WEEK_START_DATE
    ), CountryWeeklyCommon as
    (
      select COUNTRY, Week_Commencing, SUM(BUDGET_SALES) as CommonBudgetSum
      from ANALYSE.LCM_COMMON_BUDGET_SALES
      where Week_Commencing = @WEEK_COMMENCING_VAR
      Group by COUNTRY, Week_Commencing 
    )
    
    select wa.COUNTRY, wa.WEEK_START_DATE, wa.ActualBudgetSum, wc.Week_Commencing, wc.CommonBudgetSum
    From CountryWeeklyActual wa 
    left join CountryWeeklyCommon wc
    on wa.COUNTRY=wc.Country and wa.WEEK_START_DATE=wc.Week_Commencing