要求是这样的
要查询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?
要查询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?
解决方案 »
- delphi7 + windows xp 多线程 动态创建idhttp 异常不能捕捉
- mysql备份
- 又來挑戰大家!如何做Windows Media Player 一樣的讓窗體駐留在任務欄上?
- 关于用程序控制打印机配置问题
- 超难问题:关于使用PPView和TOleContainer播放幻灯片的问题!!!
- Delphi下如何处理tif格式的图片,tif有几种格式,为什么我用acdsee转成jpg后再转成tif 就要变大一百多倍呢
- 在TDBGRID,TDBEDIT控件上如何用户访问权限控制?在线等待,
- fastreport问题,从外部给fastreport的变量赋值,但运行时有错。是fastreport的bug吗?
- 如何监控网站是否已登录?
- 一个值得各位探讨的问题
- [求救]clientdataset转换xml为cds的问题
- 怎样发图片?
这个得先分解id>=1 and id<=5
然后一条条的加上其后面的条件 每个union all(用union会去除重复数据)
帮你写一个得到你那些数据的Sql。
select id , id1 form tablename
where 1=1
and (id>=1) & (id <=5)
and (id1>=10) & (id1 <=20)
Order by id , id1
楼主要提高结贴率了
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)