0

Web とメールの 2 つのテーブルがあります。現在、このクエリを使用して両方のテーブルからデータを取得しています。

PreparedStatement ps = con.prepareStatement("(select * from web where name='abc') union (select * from mail where name='abc')");
ResultSet rs = ps.executeQuery();
while(rs.next()){      
bw.write(rs3.getString("name")+"~"+rs3.getString("age")+"~"+rs3.getString("profession");
bw.newLine();
}

出来上がりはこんな感じ。

+------+------+------------+
| name | age  | profession |
+------+------+------------+
| abc  |   20 | doctor     |
| abc  |   20 | engineer   |
+------+------+------------+

そして、ファイルでは次のようになります

abc~20~doctor
abc~20~engineer

しかし、この形式のデータを提供する結果セットに余分な列を追加するにはどうすればよいですか

abc~20~doctor~web
abc~20~engineer~mail
4

3 に答える 3

3
try this 

select * , 'web' as tablename from web where name='abc' union
select * ,'mail' as table namefrom mail where name='abc'
于 2013-10-07T09:46:10.927 に答える
0
select * , 'web' as source from web where name='abc' union
select *, 'mail' as source from mail where name ='abc'
于 2013-10-07T09:48:17.517 に答える