我想用Java执行针对MySQL数据库的查询。代码如下所示:
ResultSet resultSet = statement.executeQuery("select col1 from tb1 inner join tb2 on tb1.col2 = tb2.col3 where col4='"+foo+"'");
当我使用shell时查询工作正常,但是当我用Java运行它时它不起作用,因为它说col4不存在。但col4存在。
我刚试过这样的事情;
select col1 from dbname.tb1 as a inner join dbname.tb2 as b on a.col2 = b.col3 where b.col4 = 'foo'
答案 0 :(得分:0)
你应该用表前缀" tb1"来调用col4。或" tb2"。
例如: 从tb1col2 = tb2.col3上的tb1内连接tb2中选择tb1.col1,其中tb1.col4 = ...
答案 1 :(得分:0)
问题不在那里。我进一步说道:
ResultSet resultSet = statement.executeQuery("select col1 from tb1 inner join tb2 on tb1.col2 = tb2.col3 where col4='"+foo+"'");
myarray.add(resultSet.getString("col4"));//col4 can't exist here because it has not been selected
执行查询后,我想访问一个尚未被选中的列。