如何比较一个数据库中的两个表数据

时间:2014-07-19 06:43:58

标签: mysql sql jsp

我的数据库中有两个表,一个table1包含用户发送或接收的所有sms记录,table2包含官方号码列表。现在我要比较这两个表数据table1 phoneNumbers字段和table2官方电话号码字段if数字不匹配我想用红色显示它,否则它出现在正常的主题。所以当用户正在观看table1红色的数据电话号码字段表示该数字不是正式的我的问题是当我比较这些两条记录我的table1数据行重复table2中总行数的时间我不希望我只想要table1获取其所有记录和电话号码字段的红色字体颜色表明读者这里不是官方号码是我的代码

message.jsp

 try{
        String emi=request.getParameter("emi");
        imei=emi;
        String month=request.getParameter("month");
        String day=request.getParameter("dt");
        String year=request.getParameter("year");
        String month1=request.getParameter("month1");
        String day1=request.getParameter("dt1");
        String year1=request.getParameter("year1");
        String date =month+" "+day+" "+year;
        String date1=month1+" "+day1+" "+year1;
        System.out.println(date);
        System.out.println(date1);

       Connection con = history.show.getConnection();
        PreparedStatement ps = con.prepareStatement("select * from sms where  s_imei='"+emi+"' and  sms_date between '"+date+"' and '"+date1+"'");

        ResultSet rs = ps.executeQuery();
                    while(rs.next())
                   {
                        PreparedStatement  ps1 = con.prepareStatement("select * from ofcNumbers");
        ResultSet rs1 = ps1.executeQuery();
              while(rs1.next())
              {
             String num1=rs1.getString("phone_number");    





    %>

    <tr >
     <td >   
      <%
               if(num1.toString().trim().contains(rs.getString("sms_phoneNumber").toString().trim()))
                  {

         %>

     <%= rs.getString("sms_phoneNumber")+"sa"%>

         <%
                  break;}
               else{
                   %>
                  <font color="ff0000"><%= rs.getString("sms_phoneNumber")%></font>
              <% 
               }%>

     <td>    
     <%= rs.getString("sms_personName")%>
     <td>
      <%= rs.getString("sms_type")%>
      <td>
      <%= rs.getString("sms_date")%>
      <td>
      <%= rs.getString("sms_Time")%>
      <td>
      <%= rs.getString("s_logType")%>


    </tr>

     <tr class="alt" >
         <td class="alt" colspan="6" ><%= rs.getString("sms_body")%>

    <% }//end of for loop
       }  //end of while

       }
       //end of try
     catch(Exception e){
      e.printStackTrace();
     }
    %>

1 个答案:

答案 0 :(得分:0)

SELECT * FROM sms s
LEFT OUTER JOIN ofcNumbers n on n.phone_number = s.phone_number

这将列出您的所有SMS表数据。 但是对于“ofcNumbers”表ID列的NULL值(希望你在这里有ID列),ofcNumbers表中没有任何记录与SMS表中的phone_numbers匹配。

然后你可以检查你的jsp,比如

if(rs.getValue("ofcNumbers_id") == NULL){
      <font color="ff0000"><%= rs.getString("sms_phoneNumber")%></font>
}
....