好像标题有点莫名其妙,其实是这样的:表中staff_type 有两个值 '0'和'1' 语句:SELECT * FROM PAYMENT_200906_T WHERE STAFF_TYPE IN ('1') 可查出staff_type 为'1' 的时候的记录以下面语句的形式,使其运行后能达到 staff_type in ('0','1') 的结果
SELECT * FROM PAYMENT_200906_T WHERE STAFF_TYPE='?'
但是不能使用
SELECT * FROM PAYMENT_200906_T WHERE STAFF_TYPE IN ('1','0')
SELECT * FROM PAYMENT_200906_T 
请问有什么语句能达到这种效果么?

解决方案 »

  1.   

    没明白...是说staff_type 里只有2种值且不为空吗
    那为什么要加一个where staff_type= 语句,不是画蛇添足吗
    SELECT * FROM PAYMENT_200906_T where 1=1
    SELECT * FROM PAYMENT_200906_T where staff_type<>3
      

  2.   

    如果这个字段只有这两个值,那么去掉where就可以了如果还有其他值,可以用translate函数,将0,1转义即可。select * from test where translate(id,'01','11') = '1';
      

  3.   

    SELECT * FROM PAYMENT_200906_T WHERE STAFF_TYPE=1 or STAFF_TYPE=0
      

  4.   

    SELECT * FROM PAYMENT_200906_T WHERE STAFF_TYPE=STAFF_TYPE 
      

  5.   

    SELECT * FROM PAYMENT_200906_T where 1=1 和SELECT * FROM PAYMENT_200906_T   等价
      

  6.   

    你是想提高性能所以不用in是吧?
    那就用exists替换吧!
      

  7.   

    各位,其实我是因为这种情况,我的jsp页面有这个下拉选择条件
    <select name="select1">
                    <option value="">请选择</option>
                         <option value="0">0</option>
                         <option value="1">1</option>                 
                        <option value="?">全部</option>     </select>对应查询页面的代码为:
    String sql=" SELECT * FROM PAYMENT_200906_T  where STAFF_TYPE='"+request.getParameter("select1")+"' ";
       ResultSet rs=connection.executeQuery(sql);所以,我希望能否找到一个页面上我选中 "全部"的时候,能够让查询语句满足所有的条件。
      

  8.   

    String sql=" SELECT * FROM PAYMENT_200906_T";
    String staff_type = request.getParameter("select1");
    if (staff_type.equals("0") || staff_type.equals("1"))
       sql+=" WHERE STAFF_TYPE='" + staff_type + "'";
    ResultSet rs=connection.executeQuery(sql);这样好点
      

  9.   

     
     #4楼 SELECT * FROM PAYMENT_200906_T WHERE STAFF_TYPE=1 or STAFF_TYPE=0 这应该就可以了吧。
     
      

  10.   

    String sql=" SELECT * FROM PAYMENT_200906_T  where STAFF_TYPE='"+request.getParameter("select1")+"' " + "OR '全部'='" +request.getParameter("select1")+"' "; 
    ResultSet rs=connection.executeQuery(sql); 我看这样行
      

  11.   

    谢谢楼上的大侠门的指点,我发现我却几乎是以sql注入的方式实现的查询全部,即,我在option中修改成
    <option value="0','1">全部</option>就搞定了
      

  12.   

    我觉得问题出在你把MVC,改成了MV。
    呵呵!
      

  13.   

    SELECT * FROM PAYMENT_200906_T WHERE STAFF_TYPE=any ('1','0') ;