Plsql 将多个列值合并到一行中

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

我在一个表中有这种格式的数据:

键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 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