Plsql 将多个列值合并到一行中
我在一个表中有这种格式的数据: 键Col1 Col2 col3类型 第1部分abc1 cde1 X 第1部分fgh1 Y 我希望select查询的结果合并Part1的所有列值,如下所示: 键Col1 Col2 Col3 第1部分abc1 cde1 fgh1 我尝试使用groupby/have,并使用Type列的值进行自连接。 这些都没用Plsql 将多个列值合并到一行中,plsql,Plsql,我在一个表中有这种格式的数据: 键Col1 Col2 col3类型 第1部分abc1 cde1 X 第1部分fgh1 Y 我希望select查询的结果合并Part1的所有列值,如下所示: 键Col1 Col2 Col3 第1部分abc1 cde1 fgh1 我尝试使用groupby/have,并使用Type列的值进行自连接。 这些都没用 select a.Key ,a.Col1, a.Col2, b.Col3 from table a join table b
select
a.Key ,a.Col1, a.Col2, b.Col3
from table a
join table b on
a.Key = b.Key and
b.Type ='Y' and
a.Type= 'X'
基本上,我注意到的限制是,如果我有groupby/having,我只会得到所有三个列值都存在的行。此外,我不知道如何在outlet sql中获取列值。选择一个*将从第一行给我。我怎样才能拿到b.?效果很好!谢谢你,伊戈尔。我要去读有关马克斯的书。
select
Key,
max(Col1) as Col1,
max(Col2) as Col2,
max(Col3) as Col3
from table
group by Key