有没有办法选择其中一列只包含预定义值的行?我一直在使用它,但它会返回我的列中至少包含一个值的任何行(这正是它所要做的,我知道)。但我正在寻找一种方法来只选择关键字列中只包含我的关键字的行。
SELECT *
FROM
`products`.`product`
WHERE
keywords LIKE '%chocolate%'
AND keyword LIKE '%vanilla%';
我正在寻找能够做到这一点的事情
SELECT *
FROM
`products`.`product`
WHERE
keywords **ONLY** LIKE '%chocolate%'
OR keyword LIKE '%vanilla%';
我试图用这个问题最有意义,希望有人为我提供神奇的解决方案!
UPDATE /实施例: 关键词:巧克力,糖,牛奶,燕麦
使用上面的关键字,我希望返回前两个结果,但不是最后两个:
产品1:巧克力,糖 产品2:巧克力 产品3:巧克力,糖,牛奶,燕麦,麸皮 产品4:巧克力,糖,盐
我的专栏包含一个逗号分隔的列表,列出了适用于该产品行的所有关键字。
答案 0 :(得分:0)
SELECT * FROM `products`.`product` WHERE keywords = 'chocolate' OR keyword = 'vanilla';
根据您提供的信息,您可以做您想做的事情 - 还是有更多信息?
答案 1 :(得分:0)
这个怎么样:
SELECT *
FROM `products`.`product`
WHERE (keywords LIKE '%chocolate%' AND keyword NOT LIKE '%vanilla%')
OR (keywords NOT LIKE '%chocolate%' AND keyword LIKE '%vanilla%');