2012-08-22 19 views
1

後我作出這樣的查詢:獲取/設置列名加入

String query="select* from Table1 T1 join Table2 T2 on T1.id=T2.id where T1.id=someid"; 

現在,我執行這樣的:

Statement stm = conn.createStatement(); 
ResultSet rs = stm.executeQuery(query); 

,但現在我想指的ResultSet像'T1.colName'這樣的列,因爲T1和T2具有相同名稱的列......有可能嗎?

+1

你試過了嗎? – davioooh

+0

您是否嘗試過查看元數據? –

+2

試過後,如果你注意到它不起作用,我認爲你必須用你需要的列名替換'*',同時使用別名('AS')來重命名列有一個相同的名字。 – sp00m

回答

1

您將需要手動將別名分配給具有相同名稱的列,否則您將需要通過列索引訪問它們。該表名或表的別名是不列標籤當ResultSet包含具有相同標籤的多個列的一部分,它將與該標籤返回的第一列:

當一個getter方法被調用與列名稱和多個列具有相同的名稱,則會返回第一個匹配列的值。

(來源:http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html