-2

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

键 Col1 Col2 Col3Type
Part1 abc1 cde1 X
Part1 fgh1 Y

我希望我的选择查询的结果合并 Part1 的所有列值,如下所示:

键 Col1 Col2 Col3
Part1 abc1 cde1 fgh1

我尝试使用 GROUP BY/HAVING 并使用 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'

基本上我注意到的约束是,如果我有 group by / having,我只会得到所有三个列值都存在的行。另外我不知道如何获取出口 sql 中的列值。选择 a.* 将从第一行给我。我如何获得 b.?

4

1 回答 1

0
select 
  Key,
  max(Col1) as Col1,
  max(Col2) as Col2,
  max(Col3) as Col3
from table
group by Key
于 2013-03-23T04:33:24.753 回答