try {
String sql = "SELECT MAX(date),empNo,basicAmt,increment FROM Basic_sal where empNo=?";
pst = conn.prepareStatement(sql);
String empNO = com_emp.getSelectedItem().toString();
pst.setString(1, empNO);
rs = pst.executeQuery();
if (rs.next()) {
//JOptionPane.showMessageDialog(null,"Success !!!" );
float a = rs.getFloat("basicAmt");
String b = Float.toString(a);
txt_basicsalary.setText(b);
我在Netbeans中使用此代码部分从我的基本工资表中获取最大日期。但是输出给出了最近添加的记录的日期,但实际上我想要的是根据empNo的最大日期。但查询提供了SQLiteManager中的最大日期。如果有人可以尽快提供答案,将不胜感激。我正在使用SQLiteManager。
@ Mureinik .....是的我需要代码中的所有字段
答案 0 :(得分:0)
您希望为每位员工选择具有该员工最大(日期)的记录。要做到这一点,最好使用相关的子查询(无论RDBMS ......可能有一些例外)
SELECT date,empNo,basicAmt,increment FROM Basic_sal bs where empNo=? AND date = (SELECT max(date) FROM basic_sal WHERE empNo = bs.empNo);
此子查询正在获取该特定记录的员工的最大日期,并将其用作WHERE子句中的过滤器。