首页 > 解决方案 > 使用子查询和/或与

问题描述

这是交易我有一个列来识别季度和一个来识别年份。我需要将一列的总和按另一列分组,如何加入 with 语句或正确使用子查询?有烦恼吗?

这是我的尝试,我不确定如何加入这些陈述并将列公司名称放在前面?

WITH Q219 (Comp,Q219) AS
(
SELECT [Company Name - As Is],SUM(NSB) FROM [insta].[dbo].[sample$]
WHERE Quarter = 'Q2' AND Year = 2019
          GROUP BY [Company Name - As Is]
),
 Q319 (Comp,Q319) AS
(
SELECT [Company Name - As Is],SUM(NSB) FROM [insta].[dbo].[sample$]
WHERE Quarter = 'Q2' AND Year = 2019
          GROUP BY [Company Name - As Is]
),
 Q318 (Comp,Q318) AS
(
SELECT [Company Name - As Is],SUM(NSB) FROM [insta].[dbo].[sample$]
WHERE Quarter = 'Q3' AND Year = 2018
          GROUP BY [Company Name - As Is]
)

 select Q318,Q219,Q319 from Q318,Q219,Q319
 go

也尝试使用子查询,但无法正常工作

SELECT 

Q219 = 
(SELECT SUM(NSB) FROM [insta].[dbo].[sample$]
        WHERE Quarter = 'Q2' AND Year = 2019
          GROUP BY [Company Name - As Is]),
Q319 = ....


  FROM [insta].[dbo].[sample$]

标签: sqltsql

解决方案


没关系,我明白了,不过看起来我的号码不对

 select  Q318.Comp,Q318,Q219,Q319 from Q318
 Join Q219
 ON Q318.Comp=Q219.Comp
 JOIN Q319
 ON Q219.Comp=Q319.Comp
 go

推荐阅读