我正在尝试完成以下操作。 我需要创建一个计算字段,在找到特定单词时对行进行求和。像这样:
SELECT sum(
case
when product.description like'%trans%'
or product.description like '%transitions%'
then sales
else null
end
) as transitions
如何使用条件大小写搜索列中的多个单词,只对具有这些单词的行求和?
答案 0 :(得分:2)
首先,您的特定示例很差,因为'%trans%'
匹配'%transitions%'
。所以,这对你的例子来说已经足够了:
SELECT sum(case when product.description like '%trans%'
then sales
end) as transitions
您可以使用or
搜索其他内容:
SELECT sum(case when product.description like '%trans%' or
product.description like '%cis%'
then sales
end) as transitions
请注意,如果您在product.description
中查找单词,那么文本字段可能不是正确的结构(也就是说,您可能应该单独存储每个单词)。或者,您可能希望查看全文搜索。