Sql 试图找到购买brand1和brand2的客户及其总销售额
我试图找到购买了brand1和Brand2的客户,以及花费的美元价值的总和。我做了一个样本数据库,里面有所有的细节。 我可以找到购买了这两个品牌的客户,但金额应等于品牌1和品牌2的花费金额之和 这是指向示例数据库的链接:Sql 试图找到购买brand1和brand2的客户及其总销售额,sql,oracle,oracle-sqldeveloper,Sql,Oracle,Oracle Sqldeveloper,我试图找到购买了brand1和Brand2的客户,以及花费的美元价值的总和。我做了一个样本数据库,里面有所有的细节。 我可以找到购买了这两个品牌的客户,但金额应等于品牌1和品牌2的花费金额之和 这是指向示例数据库的链接: 使用相关子查询 select individual_id, SUM (dollar_value_US) from transaction_detail_mv t1 where t1.brand_org_code IN ('BRAND1','BRAND2') AND
使用相关子查询
select individual_id, SUM (dollar_value_US) from
transaction_detail_mv t1
where t1.brand_org_code IN ('BRAND1','BRAND2')
AND EXISTS (SELECT 1
FROM TRANSACTION_DETAIL_MV t2 WHERE t1.individual_id=t2.individual_id
and BRAND_ORG_CODE = 'BRAND2')
GROUP BY
individual_id
INDIVIDUAL_ID SUM(DOLLAR_VALUE_US)
1 40
2 22
5 22
使用相关子查询
select individual_id, SUM (dollar_value_US) from
transaction_detail_mv t1
where t1.brand_org_code IN ('BRAND1','BRAND2')
AND EXISTS (SELECT 1
FROM TRANSACTION_DETAIL_MV t2 WHERE t1.individual_id=t2.individual_id
and BRAND_ORG_CODE = 'BRAND2')
GROUP BY
individual_id
INDIVIDUAL_ID SUM(DOLLAR_VALUE_US)
1 40
2 22
5 22
如果我理解正确,您可以将聚合与适当的
having
子句一起使用:
select individual_id, sum(dollar_value_us)
from transaction_detail_mv
group by individual_id
having sum( case when brand_org_code = 'BRAND1' then 1 else 0 end) > 0 and
sum( case when brand_org_code = 'BRAND2' then 1 else 0 end) > 0
如果我理解正确,您可以将聚合与适当的
having
子句一起使用:
select individual_id, sum(dollar_value_us)
from transaction_detail_mv
group by individual_id
having sum( case when brand_org_code = 'BRAND1' then 1 else 0 end) > 0 and
sum( case when brand_org_code = 'BRAND2' then 1 else 0 end) > 0
客户id 1的总和应为40。需要客户同时购买品牌1和品牌2的合计2@SomiyaL现在检查总和是否为40是的,但我正在尝试添加txn_日期。对于客户id 1,总和应为40。需要客户同时购买品牌1和品牌2的合计2@SomiyaL现在检查总和是40是的,但我正在尝试添加txn_日期,我也在尝试获取行项目级别的实际数据。所以我想得到一个查询,它不会聚合,而是显示客户的详细信息、数量、txn_日期、总计(美元价值)@SomiyaL。你的问题是“我试图找到购买了品牌1和品牌2的客户,以及花费的美元价值的总和。”标题中重复了这一点。当你问问题的时候,你应该很清楚。我也在尝试获取行项目级别的实际数据。所以我想得到一个查询,它不会聚合,而是显示客户的详细信息、数量、txn_日期、总计(美元价值)@SomiyaL。你的问题是“我试图找到购买了品牌1和品牌2的客户,以及花费的美元价值的总和。”标题中重复了这一点。当你问问题时,你应该清楚。