Возможно ли для оператора SQL сгруппировать его с добавленным столбцом предлагаемым столбцом на основе слов или совпадений с каждым словом в одном и том же списке? - PullRequest
0 голосов
/ 18 октября 2019

Возможно ли для оператора SQL сгруппировать его с добавленной базой столбцов предлагаемых фраз по близости или совпадению с каждым словом в одном и том же списке / столбце?

Цель: 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

1 Ответ

0 голосов
/ 18 октября 2019

Вы можете сделать это и в итоге получите множество операторов 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
...