2017-06-29 38 views
-1

我在Oracle數據庫三個表如下所示:連接表

Training_Calendar_hdr

----------------------------- 
Training_Id  Training_Name 
----------------------------- 
T1    Physics 
T2    Chemistry 
T3    Maths 

Training_Employee_mapping

--------------------------- 
Training_Id Employee_Id 
--------------------------- 
T1    E001 
T1    E003 
T1    E007 
T3    E001 
T3    E010 
T3    E008 
T3    E011 

Employee_Details

--------------------------- 
Employee_Id Designation 
--------------------------- 
E001  Engineer 
E002  Professor 
E003  Businessman 
E004  Engineer 
E005  Govt. Service 
E006  Unemployed 
E007  Engineer 
E008  Govt. Service 
E009  Professor 
E010  Unemployed 
E011  Professor 

我需要通過連接三個表的結果如下所示:

-------------------------------------------------------------------------------- 
    Training_Name Engineer Businessman Unemployed Professor Govt. Service 
    -------------------------------------------------------------------------------- 
    Physics   2   1          

    Maths    1      1   1   1  
+1

你有沒有試圖自己做這個? – Jacobm001

+0

您是否希望在運行時從**指定**列中的值中獲取列名?或者在編寫查詢時對它們進行硬編碼?你很可能想要前者。這不能用純SQL完成 - 它需要「動態SQL」(儘管名稱不是SQL),這在大多數情況下是數據模型有缺陷的標誌。將「名稱」顯示爲列名可解決哪些業務問題? – mathguy

回答