我有5個表,每個表中的模式是(com_no,uid,date)。我想訪問所有的表並獲取相同的uid的com_no。我在寫JDBC此查詢作爲訪問結果集中的多個表
String s1= (String)session.getAttribute("uid");
rs1=stat.executeQuery("select distinct com_no from hostel,sports where uid='"+s1+"'");
while(rs1.next()) {
out.println(rs1.getString("com_no"));
}
但servlet異常是:
The specified field 'com_no' could refer to more than one table listed in the FROM clause of your SQL statement.
任何人可以幫助我imrove此查詢或者給我一些其他的方式來做到這一點。任何幫助將不勝感激。
這不是一個servlet異常,它是SQL異常。 SQL本身是不正確的。查詢數據庫時,必須正確指定列。如果com_no僅在其中一個表中可用,那麼它很好,否則會出錯。在沒有任何連接條件的情況下,在選擇查詢中指定兩個表需要什麼? –
@AhhijithNagarajan我想打印所有在同一個uid多個表中的com_no。所以我試圖使用這個查詢。你能以其他方式建議嗎? – Ani
你正在使用哪個數據庫?幾乎所有的數據庫,你都可以使用聯合, 從table1中選擇com_no,其中uid =? union 從table2中選擇com_no,其中uid =? –