2013-03-23 89 views
-2

我有一个单一的表中这个格式数据:整合多个列值成单列

密钥Col1中col2的Col3Type
第1部分ABC1 cde1           X
第1部分                    fgh1  Ÿ

我想我的选择查询的结果巩固了第一部分的所有列值是这样的:

主要Col1中col2的COL3
第一部分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' 

基本上我注意到的约束是,如果我拥有/ by的组,我只会得到所有三列值都存在的行。此外,我不知道如何获得插座SQL中的列值。选择一个*会从第一行给我。我如何得到b?

回答

0
select 
    Key, 
    max(Col1) as Col1, 
    max(Col2) as Col2, 
    max(Col3) as Col3 
from table 
group by Key 
+0

就像一个魅力!谢谢叶戈尔。我正在阅读关于最大值。 – 2013-03-23 06:12:03