要求是这样的
            要查询id>=1 and id1>=10
                  id<=5 and id1<=20                         假如每个id1最大值为30   那么要查询出的数据就是:                                   id=1   id1=10---30
                                   id=2   id1=1--30
                                   一直到   id=5 id1=1---20    不知道我表达得清楚没!
             可能一条sql写不出! 那么怎么在程序中写出来呢?    用for循环,,在每条Union?

解决方案 »

  1.   

    谁提的变态需求呀
    这个得先分解id>=1 and id<=5 
    然后一条条的加上其后面的条件  每个union all(用union会去除重复数据)
      

  2.   

    你求的是SQL语句,你怎么补提供相关的表名以及字段呢?看你的描述却是像从数据库中得到相应的信息,然后Insert到你的某些栏位一样。
    帮你写一个得到你那些数据的Sql。
    select id , id1 form tablename
    where  1=1
      and (id>=1) & (id <=5)
      and (id1>=10) & (id1 <=20)
     Order by id , id1
      

  3.   

    用union吧
    楼主要提高结贴率了
      

  4.   

    select id , id1 form tablename 
    where   (id=1) & (id1 >=10) union
     select id , id1 form tablename 
    where   (id>1) & (id <5) union
    union
      select id , id1 form tablename 
    where   (id=5) & (id1 <=20)