首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过sql中的其他值获取聚合值

通过sql中的其他值获取聚合值
EN

Stack Overflow用户
提问于 2021-02-19 03:04:29
回答 1查看 23关注 0票数 2

在它们的模式中,有两个表看起来如下所示:

代码语言:javascript
复制
create table PRODUCT_NOMENCLATURE(product_id integer, product_type varchar(100), product_name varchar(100));
insert into PRODUCT_NOMENCLATURE(product_id, product_type, product_name) values(490756, "MEUBLE", "Chaise");
insert into PRODUCT_NOMENCLATURE(product_id, product_type, product_name) values(389728, "DECO", "Boule de Noël");
insert into PRODUCT_NOMENCLATURE(product_id, product_type, product_name) values(549380, "MEUBLE", "Canapé");
insert into PRODUCT_NOMENCLATURE(product_id, product_type, product_name) values(293718, "DECO", "Mug");

CREATE table TRANSACTION(daate varchar(100), order_id integer, client_id integer, prop_id integer, prod_price integer, prod_qty integer);
insert into TRANSACTION values("01/01/20", 1234, 999, 490756, 50, 1);
insert into TRANSACTION values("01/01/20", 1234, 999, 389728, 3.56, 4);
insert into TRANSACTION values("01/01/20", 3456, 845, 490756, 50, 2);
insert into TRANSACTION values("01/01/20", 3456, 845, 549380, 300, 1);
insert into TRANSACTION values("01/01/20", 3456, 845, 293718, 10, 6);

我要找的是创建一个如下所示的表:

代码语言:javascript
复制
client_id.    meuble_sells.   deco_sells
999           50              14.24
845           400             60

我尝试过这样的查询:

代码语言:javascript
复制
select client_id, (select SUM(t.prod_price * t.prod_qty) from TRANSACTION t , PRODUCT_NOMENCLATURE p where t.prop_id=p.product_id group by t.client_id ) AS "ventes_meubles" from TRANSACTION;

但是,它给出了以下错误:Subquery returns more than 1 row

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-19 03:08:13

您可以使用条件聚合:

代码语言:javascript
复制
select client_id,
       sum(case when pn.product_type = 'MEUBLE' then prod_price * prod_qty end) as meuble_sells,
       sum(case when pn.product_type = 'DECO' then prod_price * prod_qty end) as deco_sells
from transactions t join
     PRODUCT_NOMENCLATURE pn
     on t.product_id = pn.prop_id
group by client_id
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66271202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档