员工数据库的示例数据,列:职位>>>
需要有关查询的帮助,该查询将过滤具有文本字符串的所有联系人行" Market"和"导演"在列位置。因此,如果我通过示例数据运行它,将返回第1行和第3行。
到目前为止我的解决方案:
WHERE (employees.position LIKE '%Market%' AND employees.position LIKE '%director%')
是否有更简洁的方法来编写此代码,因为我还想添加其他位置前缀,例如""和#34;副总统"。
WHERE (employees.position LIKE '%Market%' AND (employees.position LIKE '%director%' OR employees.position LIKE '%vice president%' OR employees.position LIKE '%head of%'))
还有一种更简单的方式来写这个吗?
答案 0 :(得分:0)
您可以尝试这样的事情
declare @filter varchar(1000)
set @filter=',director,vice president,head of,'
SELECT ........
WHERE (employees.position LIKE '%Market%' AND
(
@fliter like '%,'+employees.position+',%'
)
答案 1 :(得分:0)
我认为你需要的是一个简单的OR标准列表而不是AND。
如果你想要任何一个ex:Market OR的人都是董事,那么他们可以是真实的,也可以是真的。现在你想要总统和负责人......所有人都要单独考虑......
where
employees.position like "%Market%"
OR employees.position like "%Direct%"
OR employees.position like "%vice president%"
OR employees.position like "%head of%"
现在,对于有人是营销总监的条件,他们将符合两个标准而不是一个标准。其他类似的,只要有人在您正在寻找的分类中。