2009年12月19日土曜日

NOT EXISTS、Aに無くてBに無いものを抽出する。

Aに無くて、Bに無いものを抽出する。

SELECT *
FROM t1
WHERE NOT EXISTS (
SELECT 'X' FROM t2 WHERE t1.column_key = t2.column_key
)
AND 条件を書いてもOK

2009年12月16日水曜日

再帰を実装してみた。

再帰を実装してみた。コードはダミーだけど。
以下のような感じ。
まだまだ、甘い部分はあるけど。
エラー処理とか。そこら辺はおいおい考えよう。
まずは、出来たことに拍手、俺!!

function recursive() throws SQLException{
String sql = "sqlStatement";
PreparedStatement ps = null;
ResultSet rs = null;
try{
ps = con.prepareStatement(sql);
ps.setInt(1,id);
ps.setInt(2,corp);
ps.setInt(3,code);
rs = ps.executeQuery();

while(rs.next()){
Dto dto= new Dto();
dto.setId(rs.getInt(1));
if(dto.getCond() == CONDITION){
this.mstlist.add(mstElm);
}else{
recursive(dto.getId(),corp,code);
}
}
closer(rs,ps);
}finally{
//do nothing
}
}