我有这样的要求......
需要执行java预处理语句示例:
String sql = "select first_name from student where roll_no :=1";
connection.prepareStatement(sql);
但问题是,有时上表中的查询可能没有行。
在这种情况下,我想查询第二个表格student2
。因此sql查询现在将是:
String sql2 = "select first_name from student2 where roll_no :=1";
有没有办法在单个SQL查询中实现从另一个table(student2)
中选择的条件。
我想要这样的伪代码:
String sql = "if student1 table doesn't have a roll_num, then query student2 table";
答案 0 :(得分:0)
答案 1 :(得分:0)
虽然你的设计并不好,但我正在暗示要实现你的要求。当您执行第一个查询时,只需检查是否有可用的结果集,如果没有,则执行第二个查询。
ResultSet rs = statement.execute();
if (!rs.next()){
//ResultSet is empty
}
在If块中,您需要执行第二次查询。
注意:如果不可能,首先重新考虑您的设计。这个解决方案有效,是跛脚问题的一个蹩脚解决方案:)
答案 2 :(得分:0)
我认为你可以使用例如UNION as:
select val from (select 'A' as val from DUAL
union
select 'B' as VAL from DUAL)
where rownum = 1;
但@ tbraun89首先考虑你的数据库结构