SQL语句是否有可能将其与基于相同列表中每个单词的附近或匹配的添加的建议的短语分组

问题描述 投票:0回答:1

SQL语句是否可以将其与基于相同列表/列中的每个单词相近或匹配的添加的uggested_phrase列进行分组?

目标:1.根据匹配的关键字自动建议短语。2.每个词组词的100%匹配或存在于建议词组中3.忽略非字母数字字符(仅在可能的情况下,不是必需的)

Table_1 list
row_id   | Phrase_words
1        | [Humpty Dumpty sat]
2        | on a wall humpty+dumpty
3        | Humpty Dumpty sat on a wall
4        | Dumpty, Humpty, wall, sat
5        | Ben Cater
6        | Engr. Benedic
7        | Engr. Benedic Cater
8        | Engr. Cater
9        | Dr. Cater

我想看的结果

Table_1 list with suggested_phrase
row_id   | Phrase_words                  | Suggested_Phrase
1        | [Humpty Dumpty sat]           | Humpty Dumpty sat on a wall
2        | on a wall humpty dumpty       | Humpty Dumpty sat on a wall
3        | Humpty Dumpty sat on a wall   | Humpty Dumpty sat on a wall
4        | Dumpty, Humpty, wall, sat     | Humpty Dumpty sat on a wall
5        | Ben Cater                     | Engr. Benedic Cater
6        | Engr. Benedic                 | Engr. Benedic Cater
7        | Engr. Benedic Cater           | Engr. Benedic Cater
8        | Engr. Cater                   | Engr. Benedic Cater
9        | Dr. Cater                     | Dr. Cater
sql sql-server-2008-r2 vb.net-2010 visual-foxpro
1个回答
0
投票

您可以执行此操作,并且最终会有很多CASE语句;

SELECT *,
CASE WHEN phrase_words like '%humpty%' AND phrase_words like '%dumpty%'
        THEN 'Humpty Dumpty sat on a wall'
     WHEN phrase_words like '%Engr. Benedic%' OR phrase_words like '%Ben Cater%' OR 
phrase_words LIKE '%Engr. Cater%'
        THEN 'Engr. Benedic Cater'
     WHEN phrase_words like '%Dr. Cater%'
        THEN 'Dr. Cater'
END Suggested_Phrase
FROM TABLE
© www.soinside.com 2019 - 2024. All rights reserved.