SQL95 从 Products 表中检索所有的产品名称以及对应的销售总数

描述

Products 表中检索所有的产品名称:prod_name、产品id:prod_id

prod_id

prod_name

a0001

egg

a0002

sockets

a0013

coffee

a0003

cola

OrderItems代表订单商品表,订单产品:prod_id、售出数量:quantity

prod_id

quantity

a0001

105

a0002

1100

a0002

200

a0013

1121

a0003

10

a0003

19

a0003

5

【问题】

编写 SQL 语句,从 Products 表中检索所有的产品名称(prod_name),以及名为 quant_sold 的计算列,其中包含所售产品的总数(在 OrderItems 表上使用子查询和 SUM(quantity)检索)。

【示例结果】返回产品名称prod_name和产品售出数量总和

prod_name

quant_sold

egg

105

sockets

1300

coffee

1121

cola

34

【示例解析】prod_name是cola的prod_id为a0003,quantity总量为34,返回结果无需排序。

示例1

输入:

DROP TABLE IF EXISTS `Products`;

CREATE TABLE IF NOT EXISTS `Products` (

`prod_id` VARCHAR(255) NOT NULL COMMENT '产品 ID',

`prod_name` VARCHAR(255) NOT NULL COMMENT '产品名称'

);

INSERT INTO `Products` VALUES ('a0001','egg'),

('a0002','sockets'),

('a0013','coffee'),

('a0003','cola');

DROP TABLE IF EXISTS `OrderItems`;

CREATE TABLE IF NOT EXISTS `OrderItems`(

prod_id VARCHAR(255) NOT NULL COMMENT '产品id',

quantity INT(16) NOT NULL COMMENT '商品数量'

);

INSERT `OrderItems` VALUES ('a0001',105),('a0002',1100),('a0002',200),('a0013',1121),('a0003',10),('a0003',19),('a0003',5);

复制

输出:

egg|105.000

sockets|1300.000

coffee|1121.000

cola|34.000

答案

select t1.prod_name,round(sum(t2.quantity),3) as quant_sold 
from Products t1,OrderItems t2
where t1.prod_id=t2.prod_id
group by t1.prod_name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值