我试图转动我的表但保留额外的行(在我的示例中为eeeeee)在Oracle SQL中有没有办法做到这一点?
select * from (
select
mat_table.material, attribute_table.attribute, attribute_table.value
from
mat_table mat_table
inner join
attribute_table on mat_table.rel= attribute_table.rel
where
material = 'Material_A'
)
material |attribute| value
_____________________________________
Material_A |aaaaaa |
Material_A |bbbbbb | hello
Material_A |cccccc | val_1
Material_A |dddddd | 2
Material_A |eeeeee | 15
Material_A |eeeeee | 16
Material_A |eeeeee | 24
Run Code Online (Sandbox Code Playgroud)
当我在where子句下使用pivot时
pivot (
max(attribute) as max_value for attribute IN ( 'aaaaaa',
'bbbbbb',
'cccccc',
'dddddd',
'eeeeee'
))
Run Code Online (Sandbox Code Playgroud)
我越来越接近我想要的东西但是对于eeeee我只得到一个值
material |aaaaaa | bbbbbb | cccccc | dddddd …Run Code Online (Sandbox Code Playgroud)