我正在尝试将四个不同的选择语句组合成一个,从而为我提供所需的输出。
下面可以看到其中两个语句(它们和其他语句相同,但 Y.Date_Year 除外)
select sum(N.EBIT)/Sum(S.Sales), M.Date_Month from EBIT as N
inner join Date_Year as Y on Y.Date_Year_Id = N.Date_Year_Id
inner join Sales As S on S.Company_Id = N.Company_Id
inner join Date_Month As M on M.Date_Month_Id=N.Date_Month_Id
where Y.Date_Year = 2014 and (N.Date_Month_Id = S.Date_Month_Id And N.Date_Year_Id = S.Date_Year_Id) and N.EBIT <> 0 and S.Sales <> 0
group by M.Date_Month
select sum(N.EBIT)/Sum(S.Sales), M.Date_Month from EBIT as N
inner join Date_Year as Y on Y.Date_Year_Id = N.Date_Year_Id
inner join Sales As S on S.Company_Id = N.Company_Id
inner join Date_Month As M on M.Date_Month_Id=N.Date_Month_Id
where Y.Date_Year = 2015 and (N.Date_Month_Id = S.Date_Month_Id And N.Date_Year_Id = S.Date_Year_Id) and N.EBIT <> 0 and S.Sales <> 0
group by M.Date_Month
他们对 Date_Month 列和 EBIT/Sales 列给出了不同的看法。到目前为止,我必须去 excel,粘贴不同的值并排列它们,使它们从开始日期(Date_Month 列中的第一个月)到结束日期(Date_Month 列中的最后一个月),然后移动不同的 EBIT/Sales位置的值。
第一个语句的数据从 2012-01-31 到 2015-11-30,而第二个语句的数据从 2012-01-31 到 2016-11-30。我想要一张看起来像下面这样的表格:
Date_Month EBIT/Sales 2014 EBIT/Sales 2015
2012-01-31 0.09 0.10
.... ..... .....
2016-11-30 'Null' 0.098
因此,它们在同一个列表中,但只要其中一列没有值,它就会给出 Null。
感谢您的任何帮助。
Ps 这些是数据中的估计值,因此不要与 2012 年 1 月 31 日等存在的 2014 年值混淆。