2013-04-17 51 views
0

我使用的是Oracle 11g和我有三個表,其結構如下所示SQL查詢轉換行到列

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 

我大概最多可有三種類型的A/B/C的任何main_id/sub_id。

我的問題是我可以通過使用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 

回答