求两句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个回答

没啥问题

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

你可以去学习一下字典表 可以帮你解决你面临的问题

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

3
【PHP+MySQL】怎样解决MySQL中统计表与数据源表的数据同步问题?
2
mysql怎么获取在sql语句查询出来的数据中的排名
2
求一个对比两个数据库相同结构表的过程,如果一致则不变化,如果不一致,则生成增删改语句存到一张表C中
6
Navicat想查看表的sql语句点对象信息没有反应
4
SQL 语句怎么查询某个时间段内的数据
0
intersystems cache数据库 怎样用SQL语句获取表结构信息
3
使用Python 语句将excel 自动导入本地Mysql数据表, 显示执行完毕,但Mysql 数据表中没有找到纪录
3
如何用SQL语句查询MySQL数据库中的表的索引信息。
8
Java能同时连mysql数据库和sqlserver数据库吗
2
请详细解释这句mysql语句的意思
3
mysql updata 两个表 sql语句怎么写
4
如何将数据从 SQL Server 2005导出到 MySQL
1
Navicat premium12版本和Navicat MySQL11版本对MySQL进行转储的SQL数据及结构有什么不同?
2
mysql分组运算的sql语句怎么写
3
两张表sql语句查询结果多条结果求和
3
如果用的是mysql数据库,单表数据量大概到多少条记录量的时候,才需要考虑分库分表?
1
如何将SQL语句以字符串的形式存入数据库,然后根据不同的场景动态的执行
2
传入一个时间串mybatis怎样查询当月的数据?xml里怎样写?
3
mybatisPlus怎样实现按天或按月查询数据??sql语句怎样写?
2
.NET使用EF操作mysql条件为空判断生成的sql语句里面条件为1=0,如何解决