关于sql中条件筛选的一个问题(帮转)

一个表名tt
其中字段 pdno,ltno,cs11,cs12,cs13,cs14,cs15

我要选出cs11,cs12,cs13,cs14,cs15 中仅3点符合要求的(比如>20)

select * from tt 
where (cs11>20  and cs12>20 and cs13>20 and cs14<=20 and cs14<=20)
or (cs11>20  and cs12>20 and cs13<=20 and cs14>20 and cs14<=20)
......

这样也太烦了,有没有高人告诉我一个简单的语句啊!

先谢谢了

翻翻过去那场雪
浏览 612回答 2
2回答

忽然笑

如果结构已经确定成这样,而你的要求又确实如此,就没有办法了如果可以修改结构,建议增加一个冗余字段,这个字段专门用来存放当前行的状态,然后在增加记录和修改记录时把这个状态一并更新,这样查询时就可以只查询这个字段了如果不能修改结构,我觉得放到程序里来做更好一些,尤其当不是 >20 而是更复杂的判断条件时。存储过程也是可以考虑的方式,只是写起来比较麻烦

POPMUISE

是呀!楼主,像这种Sql比较难处理的,你先把数据取出来,在程序中做过滤就简单多了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server