在SQL中,如何在不使用case的情况下将两个查询合并为一个查询



我有两个查询要放在一起:

查询1

SELECT 
SUM(sales) AS sales,
SUM(profit) AS profit
FROM X
WHERE site = 'de'       

查询2

SELECT 
SUM(sales) AS sales_flag,
SUM(profit) AS profit_flag
FROM X
WHERE site = 'de'
AND flag = true

我想要这样的输出:

sales | sales_flag | profit | profit_flag

提前谢谢。

您可以使用条件聚合:

select 
sum(sales) as sales,
sum(case when flag = true then sales end) as sales_flag,
sum(profit) as profit,
sum(case when profit = true then sales end) as profit_flag
from x
where site = 'de'

最新更新