SQL SELECT MATCH反对:不符合我需要的方式



我第一次使用SQL的MATCH ACTION,但无法获得所需的结果。这是我的问题:

SELECT *
FROM fondslijst
WHERE MATCH(Benaming, Verpakking, Auteur01, Auteur02, Auteur03, Auteur04, Auteur05, Auteur06, Auteur07, Auteur08, Auteur09, Auteur10) AGAINST('%dagelijks%')

它与包含'dagelijks''dagelijks '(带空格(的列正确匹配,但与包含'dagelijkse'(带e(的列不匹配。我怀疑我需要使用某种通配符,但我不确定是哪种或如何。。。

尝试使用这个:

SELECT *
FROM fondslijst
WHERE MATCH(Benaming, Verpakking, Auteur01, Auteur02, Auteur03, Auteur04, Auteur05, Auteur06, Auteur07, Auteur08, Auteur09, Auteur10) AGAINST('dagelijks *' IN BOOLEAN MODE)

在这里你可以找到一些文档

编辑:添加匹配列

SELECT
*
, CASE
WHEN Benaming LIKE  '%dagelijks%' THEN 'Benaming'
WHEN Verpakking LIKE  '%dagelijks%' THEN 'Verpakking'
WHEN Auteur01 LIKE  '%dagelijks%' THEN 'Auteur01
WHEN Auteur02 LIKE  '%dagelijks%' THEN 'Auteur02'
WHEN Auteur03 LIKE  '%dagelijks%' THEN 'Auteur03'
WHEN Auteur04 LIKE  '%dagelijks%' THEN 'Auteur04'
WHEN Auteur05 LIKE  '%dagelijks%' THEN 'Auteur05'
WHEN Auteur06 LIKE  '%dagelijks%' THEN 'Auteur06'
WHEN Auteur07 LIKE  '%dagelijks%' THEN 'Auteur07'
WHEN Auteur08 LIKE  '%dagelijks%' THEN 'Auteur08'
WHEN Auteur09 LIKE  '%dagelijks%' THEN 'Auteur09'
WHEN Auteur10 LIKE  '%dagelijks%' THEN 'Auteur10'
END as MatchingColumn
FROM fondslijst
WHERE MATCH(Benaming, Verpakking, Auteur01, Auteur02, Auteur03, Auteur04, Auteur05, Auteur06, Auteur07, Auteur08, Auteur09, Auteur10) AGAINST('dagelijks *' IN BOOLEAN MODE)

相关内容

  • 没有找到相关文章

最新更新