SQL学习打卡Task4

本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql

-- 用关联子查询实现:在product表中,取出 product_id, produc_name, slae_price, 并按照商品的售价从低到高进行排序、对售价进行累计求和。

代码1如下:

SELECT product_id,product_name,sale_price,SUM(P2_price) AS sum_price

FROM(

SELECT P1.product_id,P1.product_name,P1.sale_price,

P2.product_id AS P2_id,P2.product_name AS P2_name,P2.sale_price AS P2_price

FROM product AS P1

LEFT OUTER JOIN product AS P2

ON (P1.sale_price = P2.sale_price

AND P1.product_id = P2.product_id)

ORDER BY P1.sale_price,P2.product_id)

GROUP BY product_id,product_name,sale_price

ORDER BY sale_price,sum_price;

输入这段代码会报错

报错提示:Every derived table must have its own alias 每个派生表都必须有自己的别名

这时可以明白通过子查询建立的派生表必须设立一个别名用AS

正确代码如下:

SELECT product_id,product_name,sale_price,SUM(P2_price) AS sum_price

FROM(

SELECT P1.product_id,P1.product_name,P1.sale_price,

P2.product_id AS P2_id,P2.product_name AS P2_name,P2.sale_price AS P2_price

FROM product AS P1

LEFT OUTER JOIN product AS P2

ON (P1.sale_price = P2.sale_price

AND P1.product_id = P2.product_id)

ORDER BY P1.sale_price,P2.product_id) AS x

GROUP BY product_id,product_name,sale_price

ORDER BY sale_price,sum_price;

现在代码就可以正常运行了~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值