SQL查询将行转换为列

时间:2013-04-17 14:54:29

标签: sql oracle11g

我使用的是Oracle 11g,我有三个表,其结构如下

  Main_id   Sub_id  col1   col2 
   123       123     blah   blah

Main_id到Sub_id是一对一的映射

在另一张表中我有

 id  sub_id type   
  1  123    a
  2  123    b 

在此表中,sub_id可以包含多个类型和

在第三个表格中,我的每个类型都有一个与此类似的地址

   Type     Name    address state city zip
    a        x1        a1    s1    c1  z1
    b        x2        a2    s2    c2  z2

对于任何main_id / sub_id,我最多可以有三种类型a / b / c。

我的问题是我可以使用pivot / case语句使用以下列来实现最终结果。给定一个sub_id / main_id参数,我基本上只需要一行查询。

Main_id   Sub_id   a_name a_address a_state a_city a_zip b_name b_address b_city b_zip....c_zip

1 个答案:

答案 0 :(得分:0)