a 表 x列
列x
 1
 1
 0
 1
通过判断a.x列中,如果有1则执行一条查询,如果有0则执行另一条查询;

解决方案 »

  1.   

    if exists (select 1 from a where x = 1)
    beignend
    else  if exists (select 1 from a where x = 0)
    beginend
      

  2.   

    兄弟 if exists (select 1 from a where x = 1)时a.x列中已经包含 1和0了
         else  if exists (select 1 from a where x = 0)这句系统不会再继续执行了
         显示结果还是只执行了第一个if exists再想想呢?
      

  3.   

    楼主的意思是根据字段数据逐条查询还是:
    按照上面几位的理解,出现1就执行sql1,出现0就执行sql2,如果1,0都出现就分别执行一次sql1和sql2吗?
      

  4.   


    if exists (select 1 from a where x = 1)
    beignend
    if exists (select 1 from a where x = 0)
    beginend
    这办法好
      

  5.   

    a.x列中会有很多值1和0需要先判断如果有值1,则执行一条查询语句 并且 如果有值0执行另一条查询语句;
    遇上值1就执行sql1查询 遇上0就执行sql2查询
    1和0都出现 就执行各自的sql查询
      

  6.   

    我的感觉写程序来执行sql语句会更简单,当然不知道是否符合楼主要求,先查询,再判断
      

  7.   

    case x.a when 1 then select... 
             when 0 then select...
    end需要达到这种效果
      

  8.   

    LZ的意思是不是x列中如果有1,就执行sql1,有0,就执行sql2,都有,就各自执行.而不是说查询出来的值是1,是0才执行?如果是这样的话,那这个也是能实现你要的功能的。
      

  9.   

    数据证明用if exists..或者if exists ..else if exists..都行不通。
    第一种:如果有if(id=1),就执行语句sql1,否则就执行sql2,整个判断只执行一次。
    第二种:两个if同级,如果id里面存在0和1(不管0和1有多少个),就分别执行sql1和sql2各一次;
    如果只有0或者1就跟第一种没区别。这不符合楼主需要的逐条执行判断,即出现多少次1就执行多少次sql1,出现多少次0就执行多少次sql2
    通过SQL语句来处理这个过程有点复杂。。建议通过程序来处理。
      

  10.   

    列x 
      1 
      1 
      0 
      1 if exists (select 1 from a where x = 1)
    beign
    print '1'
    end
    else if exists (select 1 from a where x = 0)
    begin
    print '0'
    end我们这样来操作吧 把查询语句用print来替换
    这样只返回1 不会返回0 
    同理 else后面的查询语句系统不会执行我需要1对应sql1查询语句
        2对应sql2查询语句