【发布时间】:2021-04-01 07:30:21
【问题描述】:
这是一个生活中的问题示例,因此您可以更好地了解我们需要什么。
示例
我们有 3 张桌子
cars
*id
*description
car_spec
*id
*car_id
*spec_id
*amount
specs
*id
*name
对于我们想要保留这些数据的每个汽车项目:
*id
*description
以及位于“specs”表中的 3 个“spec”值,基于“car_spec”表:
doors
pistons
hp
我们想像这样将所有需要的数据合并到一个表中。
car_db
*id
*description
*original_car_id
*doors
*pistons
*hp
样本数据
汽车表
id | description
1 | 2020 car 1
2 | 2020 car 2
3 | 2020 car 3
汽车规格表
id | car_id | spec_id | amount
1 | 1 | 1 | 2
2 | 1 | 2 | 12
3 | 1 | 3 | 550
4 | 2 | 1 | 4
5 | 2 | 2 | 4
6 | 2 | 3 | 250
规格表
id | name
1 | doors
2 | pistons
3 | hp
样本结果表
id | description | original_car_id | doors | pistons | hp
1 | 2020 car 1 | 1 | 2 | 12 | 550
2 | 2020 car 2 | 2 | 4 | 4 | 250
3 | 2020 car 3 | 3 | 4 | 8 | 400
我们需要什么
我们需要导出一个包含所需数据的新表。
我们可以在 sql 中执行此操作吗? 如果没有,有什么建议可以告诉我们怎么做?
【问题讨论】:
-
我认为样本数据和期望的结果会有所帮助——适当的数据库标签也会有所帮助。
-
@GordonLinoff 我已经添加了示例数据。看看
标签: sql pivot aggregate-functions