Как добавить только определенное значение в столбец? - PullRequest
0 голосов
/ 28 мая 2019

Как сделать так, чтобы оно соответствовало только одному значению, если оно уже получено? Например, в сообщении уже есть текст "кошка", как сделать так, чтобы "собака" не включала?

SELECT name, message,

concat(

if(message like '%cat%', 'cat', ''),
if(message like '%dog%', 'dog', ''),
) as intent

FROM table;

Ответы [ 2 ]

3 голосов
/ 28 мая 2019

Используйте выражение CASE:

SELECT
    name,
    message,
    CASE WHEN message LIKE '%cat%' THEN 'cat'
         WHEN message LIKE '%dog%' THEN 'dog' END AS intent
FROM yourTable;
0 голосов
/ 28 мая 2019

Вы можете использовать DISTINCT, чтобы выбрать значение только один раз, как показано ниже -

SELECT group_concat(DISTINCT N) 
FROM 
(
    select 'Dog' N UNION ALL
    SELECT 'CAT' UNION ALL
    SELECT 'CAT'
)A
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...