qq_24623729 2019-10-15 21:36 采纳率: 100%
浏览 363
已采纳

求两句SQL语句,Mysql的,数据表结构颠覆了我的认知。。

我也不知道这几张表谁建的,
俺也不敢说,俺也不敢问,
刚进公司实习,同事安排我写SQL语句,
我十分蛋疼的写到自闭想离开了,
尝试着写了写,求大佬帮忙看一下。。
在我的认知里,
店面类型应该储存在店面表里一个叫 类型ID的字段,
这样类型表可以只有几条分类数据,有几种分类就有几条记录,
可是他竟然把所有店面ID丢到了店面类型表里,
这就代表着,商品表有多少记录,分类表就也有多少记录。。

表大概长这样:
店面表(店面ID,平台ID),
订单表(订单ID,店面ID,成交数量,成交金额),
店面类型表(未知作用的主键ID,类型ID,类型名,店面ID),

然后同事让我写这么一个功能:
给一个平台ID,查询出每种类型的店面都成交了多少钱

拿到需求后,我先做出分析,

先用平台ID,查出这个平台ID对应的所有店面ID,
然后再用店面ID,查询出这个店面的成交金额总和,
然后再去类型表里,按照类型分组,把类型相同的店面的成交金额都加起来得到最终结果。

然后开始写,
select 店面ID,sum(成交金额)
from 订单表 inner join 店面表 on 店面表.店面ID=订单表.店面ID
and 店面表.平台ID=1;

然后分组

select 类型ID,sum(成交金额)
from 订单表 
inner join 店面表 on 店面表.店面ID = 订单表.店面ID
inner join 店面类型表 on 店面类型表.店面ID = 店面表.店面ID
group by 店面类型表.类型ID

最终我提交的就是这句了,请问大佬,对吗?如果不对的话要怎么写?
  • 写回答

2条回答 默认 最新

  • Kevin.Y.K 2019-10-16 09:19
    关注

    没啥问题

    select 类型ID, max(店面类型表.类型名), sum(成交金额)
    from 订单表 
    inner join 店面表 on 店面表.店面ID = 订单表.店面ID
    inner join 店面类型表 on 店面类型表.店面ID = 店面表.店面ID and 店面表.平台ID=1
    group by 店面类型表.类型ID
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro
  • ¥15 multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)
  • ¥15 基于8255的交通灯设计
  • ¥15 w3wp,exe 中发生未处理的 Microsoft ,NETFramework 异常。
  • ¥20 C51单片机程序及仿真(加减器)
  • ¥15 AQWA | 水动力分析 二阶波浪力
  • ¥15 c语言题目:成绩管理系统