日期:2014-05-17  浏览次数:20515 次

这个查询语句怎么写简洁?
一张表A,有6列,都是文本数据类型,查询的时候,要求6列的值都不等于"dd","rr","h","oo","pp","ty"

这个T-SQL语句怎么写呢?怎么写简洁些呢?

------解决方案--------------------
col1 not in ("dd","rr","h","oo","pp","ty")
and
col2 not in ("dd","rr","h","oo","pp","ty")
and
.......
------解决方案--------------------
这个没什么简洁的写法,只能一个列一个了列的写
------解决方案--------------------
不想常量重复?
使用表变量,只是效率不一定高
------解决方案--------------------
你是六个字段都需要判断,能怎么简单?
------解决方案--------------------
本帖最后由 roy_88 于 2013-02-19 10:21:10 编辑
可尝试用表类型定义参数传参

条件是 
exists(select 1 from @参数表 where Col in(外表.col1,外表.col2,外表.col3,....外表.col6))