sql - 在 SQL Oracle 中透视表的某些部分
问题描述
我有两个表,它们更复杂,所以为了简单起见,我创建了更简单的版本,但我得到了类似的输出,正如你在我的 sql 连接中看到的那样。每个供应商的行数与该项目的附加费代码一样多。thr 项目可以没有附加费或 1-n。为简单起见,我在附加费表中只创建了 3 个代码字节,有超过 50 个代码,我不知道输出表中有多少个代码,当我看到供应商重复行时,我会在加入后看到它相同的项目和营业额。
create table supplier (
supplier_ID number,
supplier_name varchar2(20),
item varchar2(12),
turnover number,
surcharge_id number
);
create table surcharge (
surcharge_ID number,
surcharge_code number,
basic_value number,
surcharge_name varchar2(12),
weight number
);
insert into supplier values ( 1 , 'ABC_company' , 'A' , 1000, 1 );
insert into supplier values ( 1 , 'ABC_company' , 'A' , 1000, 2 );
insert into supplier values ( 1 , 'XYZ_company' , 'X' , 50, 1 );
insert into supplier values ( 1 , 'XYZ_company' , 'X' , 50, 2 );
insert into supplier values ( 1 , 'XYZ_company' , 'X' , 50, 3 );
insert into supplier values ( 1 , 'KLM_company' , 'K' , 280, null );
insert into surcharge values ( 1 , 20 , 0.5 , 'gold', 0.112 );
insert into surcharge values ( 2 , 50 , 0.3 , 'silver', 0.080 );
insert into surcharge values ( 3 , 80 , 0.1 , 'bronze', 0.010 );
select supplier_name,item,turnover,surcharge_code,basic_value,surcharge_name,weight
from supplier
left join surcharge on supplier.surcharge_id=surcharge.surcharge_ID
order by supplier_name,item;
SUPPLIER_NAME ITEM TURNOVER SURCHARGE_CODE BASIC_VALUE SURCHARGE_NAME WEIGHT
ABC_company A 1000 20 .5 gold .112
ABC_company A 1000 50 .3 silver .08
KLM_company K 280 - - - -
XYZ_company X 50 50 .3 silver .08
XYZ_company X 50 80 .1 bronze .01
XYZ_company X 50 20 .5 gold .112
可以将此类表转为所需的输出吗?请记住,您不知道将加入哪些代码以及其中有多少代码将被加入。
期望的输出
SUPPLIER_NAME ITEM TURNOVER 20 50 80 gold silver bronze
ABC_company A 1000 .5 .3 - .112 .08 -
KLM_company K 280 - - - - - -
XYZ_company X 50 .5 .3 .1 .112 .08 .01
解决方案
推荐阅读
- scipy-optimize-minimize - Scipy 优化 PSSE 电力系统
- rdf - SHACL 验证列表并检索受约束的属性路径
- deep-learning - AttributeError: 'NoneType' 对象没有属性 'log' 这是什么意思?我该如何解决?
- react-native - 从持续时间中获取年月日小时分钟
- html - HTML5 音频播放列表在页面加载时开始不同
- python - 在 Pandas 和 Python 中打印数据框
- reactjs - React redux 共享整页依赖注入
- json - 将元素添加到嵌入在 MongoDB 的子文档中的数组中
- javascript - 你可以动态创建css类吗?
- javascript - 使用 JS、HTML 和 CSS 将多个下拉菜单彼此相邻添加